如何在Oracle SQL中列出模式中的所有表?

前端之家收集整理的这篇文章主要介绍了如何在Oracle SQL中列出模式中的所有表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何列出Oracle sql中模式中的所有表?
要查看另一个模式中的所有表,您需要具有以下一个或多个系统特权:
SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE

或大锤,DBA角色。

有了这些,你可以选择:

SELECT DISTINCT OWNER,OBJECT_NAME 
  FROM DBA_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'
   AND OWNER = '[some other schema]'

没有这些系统特权,您只能看到您已被授予某种级别的访问权限的表,无论是直接还是通过角色。

SELECT DISTINCT OWNER,OBJECT_NAME 
  FROM ALL_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'
   AND OWNER = '[some other schema]'

最后,您可以随时查询数据字典中您自己的表,因为您的表的权限不能撤销(从10g):

SELECT DISTINCT OBJECT_NAME 
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE'

猜你在找的Oracle相关文章