如何查看我在oracle 11g中创建的所有表?

时间:2019-02-08 19:53:06

标签: sql oracle

在Oracle 11g中,如何从user_tables中提取我创建的表(默认情况下不显示100个表)?

我编写了以下查询来获取所有用户表的列表,

SELECT table_name FROM user_tables;

但是,这给了我很长的表列表,与我无关。我只想要由我手动创建的表的列表。我知道到目前为止,我在数据库中创建的表只有4-5个。

3 个答案:

答案 0 :(得分:0)

我想您不是唯一使用数据库中用户/模式的人。您可以使用user_objects视图运行查询。按CREATED降序对其进行排序,如下所示。

 select *
   from user_objects
  where object_type = 'TABLE'
    --and created BETWEEN :P_DATE1 AND :P_DATE2 
  order by created desc

如果再次创建另一个表,请在表名称中添加一些提示/标记。可能是您的姓名缩写或前缀,让您知道它是您的表。

样本表名称:ABC_TABLE1

然后,您可以只使用下面的查询来获取您创建的表。

SELECT *
  FROM user_tables
 WHERE table_name LIKE 'ABC%';

答案 1 :(得分:0)

我是由oracle用户创建的吗?

如果其他任何用户都有权在架构上创建表,则无法使用user_tables找到该表。

如果您记得表名,则可以从user_tables中过滤掉它。

希望对您有帮助。

答案 2 :(得分:0)

由于@Littlefoot,我了解到我正在使用“系统”(默认)架构,而不是创建自己的架构。因此,在该系统架构中,有大量可用的默认表。因此,通过查询“ users_tables”,我还获得了所有系统默认表以及创建的表。