-1

我在 sql 11g 中创建了 20 个表并丢失了它们的记录。有什么办法可以列出我创建的表名。 SELECT table_name FROM user_tables不是解决方案。

4

4 回答 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 回答