如何在oracle中查询每个表的记录条数

如题所述

1、先查询本库的所有表,测试sql,select * from user_tables t where table_name like 'TEST%';可以看到有多张表;

2、查询一共有几张数据表,

select count(*) from user_tables t where table_name like 'TEST%'; 

3、编写脚本,查询TEST开头表,每个表的记录数,

declare

  v_sql varchar2(200);

  v_cnt number(10);

begin

  for v_tab in (select table_name from user_tables t where table_name like 'TEST%') loop

    v_sql := 'select count(*) from '|| v_tab.table_name;

    execute immediate v_sql into v_cnt;

    dbms_output.put_line(v_tab.table_name||':'||v_cnt);

  end loop;

end;

4、执行该sql,在输出窗口,可以看到每个表的输出结果,

TEST_A:4

TEST_CERTNO:6

TEST_CLASS:4

TEST_COL_1:20

TEST_COL_2:100

TEST_CONNECT:4

TEST_DATE:0

TEST_DATE_1:199

TEST_DATE_2:99

TEST_JOB:6

TEST_LOCK:2

TEST_LOG:999

TEST_MID:328

TEST_SALESSTATISTICS:9999

TEST_STUDENT:6

TEST_SUBSTR:4

TEST_UPDATE:3

TEST_UP_A:6

TEST_UP_B:3

TEST_UP_LIKE:6

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-13
使用oracle中count(*)函数来计算总条数。
语句:select count(*) from tablename;
如果是需要所有的表的话,必须先通过:”SELECT table_name FROM user_tables“语句查询出所有的表名,然后在进行条数计算。本回答被提问者和网友采纳
第2个回答  2019-05-20
select t.table_name,"NVL"(t.num_rows, 0) "rows" from user_tables t ORDER BY "rows" desc;

别名添加“”是因为为oracle关键字

第3个回答  2018-03-13
使用oracle中count(*)函数来计算总条数。
语句:select count(*) from tablename;
如果是需要所有的表的话,必须先通过:”SELECT table_name FROM user_tables“语句查询出所有的表名,然后在进行条数计算。
相似回答