时间:2021-07-01 10:21:17 帮助过:35人阅读
今天有个需求要统计出当前用户下所有表名、记录数 网上找了好多 都不是很对 今天分享一个。。。可以实现的方法。 Oracle 1。执行create or replace function count_rows(table_name in varchar2, owner in varchar2 default null) return number authid curre
今天有个需求要统计出当前用户下所有表名、记录数1。执行 create or replace function count_rows(table_name in varchar2, owner in varchar2 default null) return number authid current_user IS num_rows number; stmt varchar2(2000); begin if owner is null then stmt := 'select count(*) from "' || table_name || '"'; else stmt := 'select count(*) from "' || owner || '"."' || table_name || '"'; end if; execute immediate stmt into num_rows; return num_rows; end; 2.执行 select table_name, count_rows(table_name) nrows from user_tables order by table_name asc