如何SQL查询获取oracle库中每张表的表名及准确的数据量
时间: 2024-10-08 14:21:14 浏览: 48
Oracle将查询的结果放入一张自定义表中并再查询数据
5星 · 资源好评率100%
在Oracle数据库中,你可以使用动态SQL或者系统的包`DBMS_METADATA`来获取每个表的表名和数据量。这里是一个简单的示例,假设你有权限访问`DBA_TAB_INFO`视图:
```sql
DECLARE
cursor CURSOR FOR
SELECT OWNER AS owner_name, TABLE_NAME AS table_name, NUM_ROWS AS row_count
FROM DBA_TAB_INFO;
BEGIN
OPEN cursor;
LOOP
FETCH cursor INTO owner_name, table_name, row_count;
EXIT WHEN cursor%NOTFOUND;
dbms_output.put_line('Owner: ' || owner_name || ', Table Name: ' || table_name || ', Rows: ' || row_count);
END LOOP;
CLOSE cursor;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('No tables found.');
END;
/
```
这个查询会打开一个游标遍历`DBA_TAB_INFO`,并显示每个表的所有者(owner_name)、表名(table_name)以及行数(row_count)。如果你没有`DBA`权限,可能只能看到你自己的用户下的表。
阅读全文