oracle 求多表记录数之和
时间: 2024-05-28 19:15:03 浏览: 13
可以使用以下SQL语句获取多个表的记录数之和:
SELECT SUM(num_rows) FROM all_tables WHERE table_name IN ('table1', 'table2', 'table3');
其中,table1, table2, table3是你想要获取记录数之和的表的名称。注意,num_rows并不总是准确的,特别是在表中有大量删除和插入的情况下。
相关问题
oracle如何查询表记录数
您可以使用以下 SQL 语句查询表中的记录数:
```
SELECT COUNT(*) FROM 表名;
```
其中,表名是您需要查询的表的名称。执行该语句后,将会返回该表中记录的数量。
Oracle查看表修改记录
Oracle提供了多种方式来查看表的修改记录,下面列举几种常用的方法:
1. 使用Flashback技术查看历史记录
使用Flashback技术可以快速地查看表在某个时间点的历史记录,具体步骤如下:
```
SELECT * FROM table_name AS OF TIMESTAMP TO_TIMESTAMP('2022-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS');
```
上述代码会返回在2022年1月1日00:00:00之前的所有数据。
2. 使用Oracle日志文件查看修改记录
使用Oracle日志文件可以查看表的修改记录,具体步骤如下:
```
SELECT * FROM v$logmnr_contents WHERE seg_owner = 'table_owner' AND seg_name = 'table_name';
```
上述代码会返回表的所有修改记录,包括修改前和修改后的数据。
3. 使用Oracle审计功能查看修改记录
使用Oracle审计功能可以记录表的修改记录,具体步骤如下:
- 启用审计功能:`AUDIT TABLE table_name;`
- 查看审计记录:`SELECT * FROM dba_audit_trail WHERE obj_name = 'table_name';`
上述代码会返回表的所有修改记录,包括修改前和修改后的数据。
需要注意的是,启用审计功能会对数据库性能产生一定的影响,建议在必要的时候才使用。