oracle从所有表中查询,获取Oracle中所有表的列表?

ccba3a4b5794de189ae1589d583261a9.png

一只甜甜圈

SELECT owner, table_name  FROM dba_tables这是假设您可以访问DBA_TABLES数据字典视图如果您没有这些特权,但需要它们,您可以请求DBA显式地授予您在该表上的特权,或者,DBA授予您SELECT ANY DICTIONARY特权SELECT_CATALOG_ROLE角色(这两种角色都允许您查询任何数据字典表)。当然,您可能想要排除某些模式,例如SYS和SYSTEM其中有大量您可能不关心的Oracle表。或者,如果您无法访问DBA_TABLES,您可以通过ALL_TABLES意见:SELECT owner, table_name  FROM all_tables虽然,这可能是数据库中可用表的子集(ALL_TABLES显示用户已被授予访问权限的所有表的信息)。如果您只关心您拥有的表,而不是您可以访问的表,则可以使用USER_TABLES:SELECT table_name  FROM user_tables自USER_TABLES只有关于您拥有的表的信息,它没有OWNER列-根据定义,所有者是你。Oracle还有许多遗留数据字典视图-TAB, DICT, TABS,和CAT例如.可以用来。一般来说,除非您绝对需要将脚本移植到Oracle 6,否则我不会建议使用这些遗留视图。Oracle已经很长时间没有更改这些视图了,因此它们在更新类型的对象方面经常会出现问题。例如,TAB和CAT视图都显示了有关用户回收站中的表的信息,而[DBA|ALL|USER]_TABLES视图全部过滤掉。CAT还显示了有关物化视图日志的信息。TABLE_TYPE这不太可能是你真正想要的。DICT合并表和同义词,而不告诉您是谁拥有该对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值