Home >Database >Mysql Tutorial >Oracle 10G 查看当前用户下所有表名及表记录数

Oracle 10G 查看当前用户下所有表名及表记录数

WBOY
WBOYOriginal
2016-06-07 14:56:581730browse

今天有个需求要统计出当前用户下所有表名、记录数 网上找了好多 都不是很对 今天分享一个。。。可以实现的方法。 Oracle 1。执行create or replace function count_rows(table_name in varchar2, owner in varchar2 default null) return number authid curre

今天有个需求要统计出当前用户下所有表名、记录数
网上找了好多  都不是很对
今天分享一个。。。可以实现的方法。 Oracle
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
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn