我正在尝试创建一个存储表名称和表计数的表。
我已经有了表格列表。如何使用此列表获取表的所有计数?
结果应该是这样的:
TABLE_NAME NUM_ROWS
------------ --------
tableName1 result from select count(*) from tableName1
...
有什么想法吗?
先谢谢了。
答案 0 :(得分:1)
有关“快速且肮脏”的解决方案,请尝试。
SELECT TABLE_NAME, NUM_ROWS
FROM USER_TABLES
Oracle存储大量元数据信息。 您可以查询元数据以获得合理的估算值。 可以关闭实际的行数,具体取决于上次分析表的时间和表的更新频率。
如果这不是一个可行的选择,则您将需要编写一个pl / sql过程来遍历表(查询USER_TABLES),并使用EXECUTE IMMEDIATE之类的东西来选择该表上的行数。 / p>