我在 sql 11g 中创建了 20 个表并丢失了它们的记录。有什么办法可以列出我创建的表名。
SELECT table_name FROM user_tables
不是解决方案。
问问题
9373 次
4 回答
2
首先,以sys身份登录,然后才能查看整个数据库中的表。
其次,使用sys运行此查询
SELECT owner, table_name FROM dba_tables WHERE owner='HR';
这应该显示HR schema
. 请记住为所有者使用大写字母,(HR)
否则您将收到错误消息。
希望这可以帮助。
于 2014-12-22T07:04:53.167 回答
1
Oracle 数据库参考可为您提供帮助。
SELECT TABLE_NAME FROM USER_ALL_TABLES
于 2012-09-06T14:30:19.967 回答
1
好吧,如果 user_all_tables 不是您想要的结果,您将不得不通过以下方式依赖 dba_tables:
SELECT owner, table_name
FROM dba_tables
但是为此,您显然需要比 user_tables 更多的权限
于 2012-09-06T15:20:07.450 回答
1
解决此问题的最佳方法是考虑名为 LAST_ANALYZED的 ALL_ALL_TABLES 的属性, 它给出了最近分析表的日期。
因此,您可以借助 DATE 函数轻松查询数据库。
于 2012-09-06T17:24:04.860 回答