一、创建存储表方式

--创建表存储信息
create table test(table_name varchar,cnt bigint);
--将以下SYSDBA替换成需要统计的模式名
declare
sql varchar ;
cnt bigint ;
begin
for rec in (select table_name from dba_tables where owner = 'SYSDBA') loop
 sql = 'select count(*) from SYSDBA."'||rec.table_name||'"';
 execute immediate sql into cnt;
 insert into test values (rec.table_name,cnt);
 commit;
end loop;
select *from  test;
--最后记得删除这个表
end;

二、使用系统表ALL_TABLES

SELECT T.TABLE_NAME AS 表名,TABLE_ROWCOUNT(T.OWNER,T.TABLE_NAME) AS 数据量,U.COMMENTS AS 注释
FROM ALL_TABLES T,ALL_TAB_COMMENTS U where T.TABLE_NAME =U.TABLE_NAME AND T.OWNER='WHAPTS'
--或者
SELECT OWNER,TABLE_NAME,NUM_ROWS,* FROM SYS.ALL_TABLES 
WHERE OWNER IN (
SELECT NAME FROM SYS.SYSOBJECTS 
  WHERE TYPE$='SCH'
 AND PID IN(SELECT ID FROM SYS.SYSOBJECTS WHERE TYPE$='UR' AND SUBTYPE$='USER' AND NAME  IN('WHAPTS'))
) order by owner,table_name
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐