Oracle 怎么查询其他用户表中是否包含某个字段

Oracle如何查询其他用户表中是否有包含某个字段名,注意是其他用户中的所有表,而非当前用户。目前登录的用户是有权限浏览和修改其他用户表。如下图所示,我知道怎么查最上面的... Oracle如何查询其他用户表中是否有包含某个字段名,注意是其他用户中的所有表,而非当前用户。目前登录的用户是有权限浏览和修改其他用户表。如下图所示,我知道怎么查最上面的表,但是想查最下面其他用户中的表是否包含某个字段不会,请各位帮帮忙. 展开
 我来答
智者总要千虑
高粉答主

2019-01-16 · 说的都是干货,快来关注
知道顶级答主
回答量:7.9万
采纳率:88%
帮助的人:1.3亿
展开全部

比如查,含有DNAME这个字段的表

1

select * from  user_tab_columns where column_name='DNAME'

其中table_name就是表名,DNAME那里要用英文半角大写

追问

是最下面其他用户表,用你的这句查只能查到最上面的表
longrenyingdc8ecb1
2019-01-17 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2290万
展开全部
其实还是 司马铸剑 说的那张表,只不过要把 user_tab_columns 改为all_tab_columns(如果没有这张表,我很少用all的表,经常用dba系列表,所以有没有all的这张表我不确定,但是dba_tab_columns一定存在)这样就可以找到该用户能查看的所有的表了。也就能知道包含该字段的所有的表的表名了。
如果只要其他用户的不要自己用户的,那么就和all_tables两张表联合起来查询,那么就应该没问题了。
类似于:select a.table_name from all_tab_columns a,all_tables b where a.column_name='DNAME' and a.table_name=b.table_name and b.owner !=XXX
不一定完全对,仅仅是一个思路,毕竟这种试图很久没查了,可能有些出入。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2019-01-17 · TA获得超过7529个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2508万
展开全部
all_ 开头的视图可以查到你拥有权限的所有对象
比如all_tables , all_objects就能看到,里面有owner字段 , 对应的user_tables是只显示本用户自己的对象
追问
比如要找所有User=DWH的用户的表我知道select * from All_tables where owner='DWH',但是要找DWH下所有表中的字段是否有包含ID的字段还是搞不定。麻烦帮忙指点一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式