如何在oracle中查询每个表的记录条数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在oracle中查询每个表的记录条数相关的知识,希望对你有一定的参考价值。
1、先查询本库的所有表,测试sql,select * from user_tables t where table_name like 'TEST%';可以看到有多张表;
2、查询一共有几张数据表,
select count(*) from user_tables t where table_name like 'TEST%';
3、编写脚本,查询TEST开头表,每个表的记录数,
declare
v_sql varchar2(200);
v_cnt number(10);
begin
for v_tab in (select table_name from user_tables t where table_name like 'TEST%') loop
v_sql := 'select count(*) from '|| v_tab.table_name;
execute immediate v_sql into v_cnt;
dbms_output.put_line(v_tab.table_name||':'||v_cnt);
end loop;
end;
4、执行该sql,在输出窗口,可以看到每个表的输出结果,
TEST_A:4
TEST_CERTNO:6
TEST_CLASS:4
TEST_COL_1:20
TEST_COL_2:100
TEST_CONNECT:4
TEST_DATE:0
TEST_DATE_1:199
TEST_DATE_2:99
TEST_JOB:6
TEST_LOCK:2
TEST_LOG:999
TEST_MID:328
TEST_SALESSTATISTICS:9999
TEST_STUDENT:6
TEST_SUBSTR:4
TEST_UPDATE:3
TEST_UP_A:6
TEST_UP_B:3
TEST_UP_LIKE:6
参考技术A 使用oracle中count(*)函数来计算总条数。语句:select count(*) from tablename;
如果是需要所有的表的话,必须先通过:”SELECT table_name FROM user_tables“语句查询出所有的表名,然后在进行条数计算。本回答被提问者和网友采纳 参考技术B select t.table_name,"NVL"(t.num_rows, 0) "rows" from user_tables t ORDER BY "rows" desc;
别名添加“”是因为为oracle关键字
参考技术C 使用oracle中count(*)函数来计算总条数。语句:select count(*) from tablename;
如果是需要所有的表的话,必须先通过:”SELECT table_name FROM user_tables“语句查询出所有的表名,然后在进行条数计算。
如何查询oracle表的操作日志记录
1、打开oracle sql developer工具,没有此工具的可以去oracle官网下载安装即可,刚刚安装完成的是没有记录的,只有使用工具执行过后才会留下记录可以查询。打开之后不需要连接数据库就可以查询到sql记录了。
2、在二级菜单中,选择SQL历史记录选项,或者按快捷键F8打开窗口。
3、默认打开是会显示在最下方的小窗口,在标题栏双击鼠标左键,即可最大化窗口,再次双击左键还原窗口。
4、最大化窗口之后,便于更好的查询记录结果,如图所示,以往执行的sql记录都显示出来了,可以在每个栏目标题上单击,进行排序操作,一般可以点击时间戳字段,按时间来排序查询记录。第二次点击,可以切换顺序和逆序。
5、最后一个字段是持续时间,点击排序之后可以查询出哪些sql语句最快,哪些sql语句执行比较慢,需要优先等。
6、对于一些不需要的sql记录可以删除的,因为记录多了不便于查询,没有用的sql最好及时清除了。只需要选择您需要删除的记录,然后点击如图所示的清除按钮,在二次确认弹框中选择是,即可删除。
7、在删除按钮后面就是一个搜索输入框,在此处输入搜索关键字可以模糊匹配到记录,对于记不清的记录,采用模糊搜索的方式查询,效率非常高。工具会自动根据我们输入的关键字进行筛选过滤的。
参考技术A 需要打开oracle审计功能才能记录,并且消耗一定性能。简单打开审计如下
1、设置参数
alter system set audit_trail=db scope=spfile;
2、重启数据库
3、打开相应的审计(审计选项很多),如,对用户test对表操作的审计
audit table by test;
4、以dba查看审计记录
select * from dba_audit_trail;本回答被提问者采纳 参考技术B select * from v$sqlarea t order by t.FIRST_LOAD_TIME desc
以上是关于如何在oracle中查询每个表的记录条数的主要内容,如果未能解决你的问题,请参考以下文章
使用oracle 对表根据字段A<>2查询有11条数据,未记录这些数据,进行了字段A的更改A=2,现在想得到那11条数
怎么在oracle数据库中想统计一个用户下所有表的记录的总条数?