有一个分区表,我想用简单的sql语句得到出这个表中没有数据的分区的个数
这个sql语句应该怎么写啊?
现在想到的最笨的办法是在程序里写一个循环,然后一个分区一个分区去select count(*),返回0的计数器加一
各位大侠有什么好的建议啊,先在这里谢过了!
这个sql语句应该怎么写啊?
现在想到的最笨的办法是在程序里写一个循环,然后一个分区一个分区去select count(*),返回0的计数器加一
各位大侠有什么好的建议啊,先在这里谢过了!
要想精确,还是count的好
select * from tbl partitioins dba_tab_partitions where rownum=1;
有记录就有数据。
from tbl partition(part_02)
where rownum=1;
表示在分区标识part_02里面至少有一条数据。
我上面写错了不好意思。
语句为:
select * from table_name partition(partition_name)
where rownum=1;
select count(*) from
(select *
from tbl partition(part_01)
where rownum=1
union
select *
from tbl partition(part_02)
where rownum=1
union
...
);
那你程序里面怎么取到得分区名字?dba加了个分区,你程序岂不是又要修改?
或者你的分区是怎么根据时间定的?利用时间那个数据是否存在任意一条来做