oracle中如何把用户所属的表的记录数一次统计出来?我现在想把登陆用户下所属的表记录数统计出来,以看记录数变化情况,如何做呢?

解决方案 »

  1.   

    select count(num_rows) from user_tables;
      

  2.   

    不是,我的意思说,比如用户admin有三个表,A,B,C,那么让其统计出这三个表的记录各是多少?
    比如:表名          记录数
    A             50
    B             120
    C             5000
      

  3.   

    select * from user_tables (里面应该有表名字段,返回当前用户拥有的所有表信息)
    使用游标加上面的SQL取表名
    构造select count(*) from table_name
    取count(*)
    累加
      

  4.   

    select table_name as 表名,num_rows as 记录数 from user_tables
      

  5.   

    to  lemontree33(风) :
     按照您的方法,我只能取出部分数据,不知道为什么?
      

  6.   

    dbms_stats.gather_schema
    然后 select table_name as 表名,num_rows as 记录数 from user_tables
      

  7.   

    EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS('用户名');
    select table_name as 表名,num_rows as 记录数 from user_tables;