Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql中列出用户创建的表名?_Sql_Oracle11g - Fatal编程技术网

如何在sql中列出用户创建的表名?

如何在sql中列出用户创建的表名?,sql,oracle11g,Sql,Oracle11g,我在SQL11g中创建了大约20个表,但丢失了它们的记录。有没有办法列出我创建的表名。 SELECT table\u name FROM user\u tables不是解决方案。帮助您 SELECT TABLE_NAME FROM USER_ALL_TABLES 如果user_all_表不是您想要的结果,则必须通过以下方式依赖dba_表: SELECT owner, table_name FROM dba_tables 但是,与用户表相比,您需要更多的priv。显然,解决此问题的最佳方法

我在SQL11g中创建了大约20个表,但丢失了它们的记录。有没有办法列出我创建的表名。
SELECT table\u name FROM user\u tables
不是解决方案。

帮助您

SELECT TABLE_NAME FROM USER_ALL_TABLES

如果user_all_表不是您想要的结果,则必须通过以下方式依赖dba_表:

SELECT owner, table_name
  FROM dba_tables

但是,与用户表相比,您需要更多的priv。显然,解决此问题的最佳方法是考虑名为 最后一次分析 它给出了表格最近一次分析的日期


因此,您可以借助日期函数轻松查询数据库。

首先,以sys登录,然后才能查看整个数据库中的表

其次,使用sys运行此查询

SELECT owner, table_name FROM dba_tables WHERE owner='HR';
这将显示
HR架构所拥有的所有表。记住对所有者使用大写字母
(HR)
,否则您将收到错误


希望这有帮助。

哪种SQL?SQL SERVER、MySQL等。我猜这是oracle,因为11gwhy SELECT table_name FROM user_tables不是解决方案?@danhip它会为您提供所有您拥有的表名(您可以使用)。它给出了大约3000个结果。“我甚至不确定我的20在里面。”跳车者1337这就是我所说的解决方案。这不对。这不是我前面说过的答案。我是唯一的用户,也是我的dba的所有者,所以这个命令对我来说和我在问题中给出的差不多。两者都返回相同的结果。