oracle数据库中如何查询一个用户下所有表的记录总条数?

exp_moon 2008-05-08 03:07:56
如题,想统计一个用户名下,所有表的记录总条数,有什么语句能实现的?
Select Count(*) from tablename ,太慢了。
有什么即快又好的方法?
...全文
3904 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fight2009 2008-05-11
  • 打赏
  • 举报
回复
笨办法
declare
v_count number(10);
t_count number(10) default 0;
cursor t_cur is
select table_name
from user_tables;
begin
for t_rec in t_cur
loop
execute immediate 'select count(*) from '||t_rec.table_name||' into v_count';
t_count:=v_count+t_count;
end loop;
dbms_output.put_line(to_char(t_count));
end;
owl1230 2008-05-09
  • 打赏
  • 举报
回复
写个存储过程吧
decare name var(20)
SELECT table_name as name FROM dba_tables WHERE owner = 'username';
sum(select count(*) from $table_name)

大概就是这样,应该是要用到游标,可惜我不熟,看有仁兄来不全不
exp_moon 2008-05-08
  • 打赏
  • 举报
回复
憋出个方法来,也不是很快,准确度应该有保证的。
就是把那个用户下所有的表导出来,看导出的记录信息。
exp一下,还有别的方法吗?
Petergepeter 2008-05-08
  • 打赏
  • 举报
回复
不是太准,但最快,最好是刚GATHER过。
SELECT sum(num_rows) FROM user_tables;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧