select object_name from dba_objects where object_type='TABLE';
   得到所有的表

解决方案 »

  1.   

    要所有表的记录数目 不是很方便 分析所有的表 
    然后 select NUM_ROWS from dba_tables;或者 select count(*) from 表1 ,
         select count(*) from 表2   这样单独得到
      

  2.   

    select count(*) from tab where Tabletype = 'table' ;  当前用户的表总数select count(*) from table1;  当前的表总数
      

  3.   

    oracle里有没有存储这样信息的表,我不知道,可以通过PB系统表得到表名,然后分别读表中记录数。
      

  4.   

    CREATE PROCEDURE MDS_Fas
    declare @tab varchar(150)
    declare @tab_cou varchar(10)
    DECLARE mds_cursor CURSOR FOR
    select object_name from dba_objects where object_type='TABLE'

    OPEN mds_cursor
    FETCH NEXT FROM mds_cursor
    INTO @tabWHILE @@FETCH_STATUS = 0
    BEGIN
           select count(*) from @tab
           print @tab+' is '+@tab_cou
           FETCH NEXT FROM mds_cursor
           INTO @tab
           
    ENDCLOSE mds_cursor
    DEALLOCATE mds_cursor
    GO
      

  5.   

    忘了一个地方。
    我是在sql下试的。你可能要再修改一下。
    CREATE PROCEDURE MDS_Fas
    declare @tab varchar(150)
    declare @tab_cou varchar(10)
    DECLARE mds_cursor CURSOR FOR
    select object_name from dba_objects where object_type='TABLE'

    OPEN mds_cursor
    FETCH NEXT FROM mds_cursor
    INTO @tabWHILE @@FETCH_STATUS = 0
    BEGIN
           select count(*) as @tab_cou from @tab
           print @tab+' is '+@tab_cou
           FETCH NEXT FROM mds_cursor
           INTO @tab
           
    ENDCLOSE mds_cursor
    DEALLOCATE mds_cursor
    GO