2015-11-07 39 views
0

我是具有创建和删除表和过程权限的Oracle11XE用户。我创建了几张桌子,然后在访问洗手间的时候,MIB用记忆擦拭器甩我(我愚蠢地看着灯光)。回到我的工作站,我意识到我需要用我的常规用户权限来查询数据库,并找出我创建的表和DBA已经神秘地丢失了什么。在Oracle中,如何列出由* I *创建的* my *模式中的所有表(不具有DBA权限)

+0

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

回答

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' 
+0

太棒了!第一个用'where'选择'是有用的。 'select * from user_tables where table_name ='foo';'起初我遇到了一个问题,因为我忘记了当我引用某些事情时,我最好注意这个事情。 SQL让我懒惰的区分大小写,然后我太懒惰了。 –

相关问题