Oracle学习笔记:dba_tables、all_tables、user_tables区别

在 Oracle 中可以通过 DBA_TABLESALL_TABLESUSER_TABLES 等3个视图表查询关系表信息,它们之间的关系和区别为:

DBA_TABLES >= ALL_TABLES >= USER_TABLES
  • DBA_TABLES:DBA拥有的或者可以访问的所有关系表
  • ALL_TABLES:某一用户所拥有的或者可以访问的所有关系表
  • USER_TABLES:某一用户所拥有的所有关系表

由上可知,当某一用户本身就为数据库 DBA 时,DBA_TABLES 与 ALL_TABLES 等价。

此规律可以类推至 Oracle 中其它类似名称的视图。

需要注意的是在 ORACLE 数据库中大小写是敏感的,而此三表中数据默认都是大写的,所以在进行查询的时候注意小写的数据可能会造成数据无法查到。

因此需要进行转换,例如:

select * from user_tables where table_name = upper('temp_cwh_city')

参考链接:Oracle ALL_TABLES、DBA_TABLES和USER_TABLES的区别

posted @   Hider1214  阅读(6460)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2018-06-01 MySQL学习笔记:like和regexp的区别
2018-06-01 MySQL学习笔记:regexp正则表达式
点击右上角即可分享
微信分享提示