如何在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
语句:select count(*) from tablename;
如果是需要所有的表的话,必须先通过:”SELECT table_name FROM user_tables“语句查询出所有的表名,然后在进行条数计算。
select t.table_name,"NVL"(t.num_rows, 0) "rows" from user_tables t ORDER BY "rows" desc;
别名添加“”是因为为oracle关键字
语句:select count(*) from tablename;
如果是需要所有的表的话,必须先通过:”SELECT table_name FROM user_tables“语句查询出所有的表名,然后在进行条数计算。