加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:48:59 所属栏目:百科 来源:网络整理
导读:如何列出Oracle SQL中模式中的所有表? 要查看另一个模式中的所有表,您需要具有以下一个或多个系统特权: SELECT ANY DICTIONARY(SELECT | INSERT | UPDATE | DELETE) ANY TABLE 或大锤,DBA角色。 有了这些,你可以选择: SELECT DISTINCT OWNER,OBJECT_NA
如何列出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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读