【问题标题】:In Oracle, how to list all the tables in *my* schema that *I* created (without having DBA privileges)在 Oracle 中,如何列出 *我* 创建的 *my* 模式中的所有表(没有 DBA 权限)
【发布时间】:2017-08-11 19:54:05
【问题描述】:

我是 Oracle11XE 用户,具有创建和删除表和过程的权限。我创建了几张桌子,然后在去洗手间时,MIB 用记忆擦拭物打断了我(我愚蠢地看着灯光)。回到我的工作站,我意识到我需要使用我的普通用户权限查询数据库,并找出我创建的那个或多个表是什么,而 DBA 神秘地失踪了。

【问题讨论】:

  • 检查字典视图 USER_TABLES 和 ALL_TABLES。或者 USER/ALL_OBJECTS 用于其他类型的对象。

标签: oracle


【解决方案1】:

您可以使用USER_TABLES 视图获取当前架构中的所有表:

select table_name
  from user_tables

另外,如果您有兴趣了解表的创建时间,那么您可以使用USER_OBJECTS 视图,其中OBJECT_TYPE = 'TABLE'。该视图包括CREATED 列。

select object_name, created
  from user_objects
 where object_type = 'TABLE'

【讨论】:

  • 太棒了!第一个带有whereselect 可以解决问题。 select * from user_tables where table_name = 'foo';一开始我有一个问题,因为我忘记了当我在某些东西上加上引号时,我最好注意一下。 SQL 让我在区分大小写方面变得懒惰,然后我变得太懒惰了。
猜你喜欢
  • 1970-01-01
  • 2015-09-25
  • 2018-07-04
  • 1970-01-01
  • 2011-01-15
  • 2013-04-09
  • 2010-11-13
  • 1970-01-01
  • 2020-07-01
相关资源
最近更新 更多