现在有一个过程要等待一张表有当天的数据,这张表是truncate当天的分区。
现用的方法是 select count(1) from TBL_A where rownum<10;
但truncate 和 select 偶尔会发生冲突。请问大家有没有更好的办法呢?

解决方案 »

  1.   

    简单说 就是要判断一张表里是否有数据,
    但是不想用select count(1) from TBL_A where rownum<10;
    这样的方法,
    请问还有别的方法吗?
      

  2.   

    select table_name ,num_rows from user_tables where num_rows =0 and table_name ='TBL_A'
      

  3.   

    表中num_rows 的数值跟表中实际的记录数不一样 是什么原因呢?
      

  4.   

    据说user_tables 中的num_rows 也不是一个实时的数据,要得到实时的准确的还要先ANALYZE,这样的话还是解决不了最根本的select和truncate冲突的问题。看来还是解决问题的方向不对。
      

  5.   

    select某张表(检测这张表是否有当天数据)的时候报了object no longer exists  这个错误,原因是当时那张表正在truncate。 我开始想换种方法检测表数据,以此来避免这种情况再次出现,现在看来似乎没有更好的办法,只能从时间上尽量岔开,幸好这种情况不经常发生,我也就不较这个真了。