select 'select '''||tname||''',count(*) 记录数 from '||tname||';' from tab where tabtype='TABLE';
或者select 'select '''||tname||''',count(*) as 记录数 from '||tname||';' from tab where tabtype='TABLE';

解决方案 »

  1.   

    然后把结果
    select '用户信息',count(*) from 用户信息;
    .
    .
    .
    select '商品信息',count(*) from 商品信息;
    拷贝后,在sqlplus上粘贴,然后运行。
      

  2.   


    -----------------------------------------
    '用户信息',count(*) 
    .
    .
    .
    '商品信息',count(*)
    -----------------------------------------
    我希望在count(*)部分显示   '记录数'==23
    即:
    用户信息表有23条记录
    -----------------------------------------
    '用户信息',23 
    .
    .
    .
    '商品信息',100
    -----------------------------------------
    我还不明白
    'select '''||tname||''',count(*) from '||tname||';'
    若干'''''的含义.
      

  3.   

    sql>exec dbms_stats.gather_schema_stats('LIFJ');
    PL/SQL procedure successfully completed
    SQL> select table_name,num_rows from user_tables;TABLE_NAME                       NUM_ROWS
    ------------------------------ ----------
    PLAN_TABLE                              3
    REGION                                  3
    SALES                                  37
    TABLE_A                                 0
    TABLE_B                                 0
    TOAD_PLAN_SQL                           0
    TOAD_PLAN_TABLE                         0
    TT_1                                    3
    T_1                                     29 rows selected
      

  4.   

    先set pagesize 999,然后执行上面的
      

  5.   

    问题太多麻烦大家了加分感谢.
    http://expert.csdn.net/Expert/topic/2873/2873882.xml?temp=.7242395
    ------------------------------------------------------------------------------
    /to  drabit(square) :
    ***您得到的结果正是我要的.不过
    您写到的
    dbms_stats.gather_schema_stats('LIFJ');
    中dbms_stats.gather_schema_stats有几个参数,意义,'LIIFJ',是什么参数  
    我该如何用
    :)辛苦,辛苦
    -----------------------------------------------------------------------------/可以介绍dbms_stats的资料吗.我没用过,在 google 上查到了这段
    /....
    /DBMS_STATS是在ORACLE8I中新增的程序包,它使统计数据的生成和处理更加灵活方便,并且可以/
    /并行方式生成统计数据。在程序包中的以下过程分别分析统计TABLE,INDEX,SCHEMA,DATABASE
    /级别的信息。 
    /DBMS_STATS.GATHER_TABLE_STATS 
    /DBMS_STATS.GATHER_INDEX_STATS 
    /DBMS_STATS.GATHER_SCHEMA_STATS 
    /DBMS_STATS.GATHER_DATABASE_STATS  /在这里,我们以数据库JOB的方式,定时对数据库中SCOTT模式下所有的表和索引进行分析: 
    /在SQL*PLUS下运行: 
    /VARIABLE jobno number; 
    /BEGIN 
    /DBMS_JOBS.SUBMIT ( :jobno , 
    /' dbms_utility.analyze_schema ( "scott", "estimate", NULL, 20) ; ', 
    /sysdate, 'sysdate+30'); 
    /commit; 
    /end; 

    /Statement processed. 
    /Print jobno 
    /JOBNO 
    /------------- 
    /16 
      /以上作业,每隔一个月用DBMS_UTILITY.ANALYZE_SCHEMA对用户SCOTT的所有表,簇表和索引作统
    /计分析 /....
    ----------------------------------------------------------------------------------该文中
    .......
    以数据库JOB的方式
    .......
    是什么意思,有何意义
    ----------------------------------------------------------------------------------
    谢谢
      

  6.   

    现在的问题是
    1.select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';
    如何用类似的语句得到正解.该语句的若干''''都是何意义.
    2.set pagesize 999       的意义即资料.
    3.以数据库JOB的方式       是什么意思,有何意义即资料.
    4.exec dbms_stats.gather_schema_stats('LIFJ');   dbms_stats.是什么意思,有何意义即资料. 'LIFJ'是服务名吗,我exec dbms_stats.gather_schema_stats('syrs'); 死机了.  为什么???
    ------------------
    敬请关注,谢谢!!!
      

  7.   

    4.exec dbms_stats.gather_schema_stats('LIFJ');   dbms_stats.是什么意思,有何意义即资料. 'LIFJ'是服务名吗,我exec dbms_stats.gather_schema_stats('syrs'); 死机了.  为什么???
    ------------------------------------------------------------------------------exec dbms_stats.gather_schema_stats('syrs'); 
    select table_name,num_rows from user_tables;
    成功了.
    ------------------------
    to drabit(square) :谢谢
      

  8.   

    1. '''' 是一种写法,为了对应单引号
    2. pagesize 每页的行数
    3. job 是作业.
    4. dbms_stats 是一个状态包.
      

  9.   

    exec dbms_stats.gather_schema_stats('syrs'); 
    是收集syrs模式的所有的统计信息。
      

  10.   

    to chanet(牧师) :
    这都是字面上就可以理解到的.
    可以详细说明吗
    比如说:
    1.select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';
    如何用类似的语句得到正解.该语句的若干''''都是何意义.
    select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE'语句中 'select '''||tname||''',count(*) from '||tname||';' 
    正常是一个字段名 ,
    2.set pagesize 999       的意义即资料.
    pagesize默认值是什么,增大后有何意义.
    3.以数据库JOB的方式       是什么意思,有何意义即资料.
    JOB方式,其他方式是什么,区别.
    4.exec dbms_stats.gather_schema_stats('LIFJ');   dbms_stats.是什么意思,有何意义即资料. 它存在那个地方,有何作用
      

  11.   

    2.sets the number of lines per page.设置每页的行的数量。
    SQL> show pagesize
    pagesize 14
    默认是14,也就是14行为一页。
      

  12.   

    4
    DBMS_STATS provides a mechanism for you to view and modify optimizer statistics gathered for database objects. The statistics can reside in the dictionary or in a table created in the user's schema for this purpose. Only statistics stored in the dictionary have an impact on the cost-based optimizer. You can also use DBMS_STATS to gather statistics in parallel. dbms_stats是一个包.它为你提供了一种查看和修改优化数据库对象的收集的统计。.....
      

  13.   

    1.select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';你知道在字符串怎么表示'这个字符吗?是用''来代表一个'字符串。
    'select ''' 实际上就是select '这个字符串。
      

  14.   

    大家已经说的很清楚了 :D
    楼主还有什么不明白的?
    -------------------------------(题外话:)
    -------------------------------
    1. 字符的处理技巧,你试过才知道.
    2. pagesize 是自定义格式。
    3. job 是作业,(如: windows 的任务)
    4. 是一个包的应用. 建议: 先 www.oradb.net 补习一下吧(慢慢学习,不要急~)