Oracle查询每张表的记录数

Sql代码   收藏代码
  1. --1。执行  
  2. create or replace function count_rows(table_name in varchar2,  
  3.                                       owner      in varchar2 default null)  
  4.   return number authid current_user IS  
  5.   num_rows number;  
  6.   stmt     varchar2(2000);  
  7. begin  
  8.   if owner is null then  
  9.     stmt := 'select count(*) from "' || table_name || '"';  
  10.   else  
  11.     stmt := 'select count(*) from "' || owner || '"."' || table_name || '"';  
  12.   end if;  
  13.   execute immediate stmt  
  14.     into num_rows;  
  15.   return num_rows;  
  16. end;  
  17.    
  18. --2.执行  
  19. select table_name, count_rows(table_name) nrows  
  20.   from user_tables  
  21.  order by table_name asc  

 

伦理电影 http://www.dotdy.com/

你可能感兴趣的:(Oracle查询每张表的记录数)