oracle中已经知道一个具体值,如何根据该值查询出含有该值的表名和列名? 200

如图:已经知道D3这个值,用什么语句可以根据D3查询出含有D3值的表名:“IQC_PPAP_PROJECTS”和列名:“VEHICLEMODEL”... 如图:已经知道D3这个值,用什么语句可以根据D3查询出含有D3值的表名:“IQC_PPAP_PROJECTS”和列名:“VEHICLEMODEL” 展开
 我来答
司马刀剑
高粉答主

2019-04-24 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7097万
展开全部
如何查询oracle一个数据库中包含有某个特定值的所有表及字段名
-我这里说的字段名跟列 是同一个意思

select column_name,
table_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where column_name='字段名';
--根据字段名查出相关的表名出来。记录下来
--然后对查出来的表进行查询,找到含这内容字段的表
select * from 表名 where 字段名='xiaoming'
追问
当前的问题是只知道一个具体值,此值既非表名也非列名,无法使用select * from 表名 where 字段名='xiaoming'来实现!
匿名用户
2019-04-24
展开全部
好久没用oracles数据库了。我记得里面有个查询所有表名的,系统表
all_tables 你看看这个表中有没有字段的。然后在查询条件
如果这个表中没有表的字段,那就把表名都粘出来。然后where加条件。把有数值的粘出来
追问
COLUMN_NAME可以代表任意列名,请问有什么可以代表任意行值?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不惑出彩
2019-04-25 · 超过33用户采纳过TA的回答
知道答主
回答量:97
采纳率:84%
帮助的人:17万
展开全部
你这个需求很不好做,就算是做了,也不一定有实际应用意义。因为性能不敢保证。当然还是可以做到的。思路如下。
首先,查询系统自带试图all_tables或者user_tables,如果可以指定用户名更好。
然后,循环每一个表的每一个字符串字段,看是不是有包含D3的值 ,如果有记下来表名字段名,就这样一直循环。
因为数据库表有可能很多,而且说不定哪个字段有了D3,还有是不是考虑clob字段,等等。所以最终不一定是你想要的结果。当然如果你可以指定某几个表或者表名,字段名有某些规律的话,会好很多。
谨慎操作
追问
请问在试图all_tables查询每一张表是否包含D3的值 ,用SQL语句怎么表示?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铜币投币扩大2L
2019-04-24 · 贡献了超过311个回答
知道答主
回答量:311
采纳率:7%
帮助的人:26.4万
展开全部
all_tables 你看看这个表中有没有字段的。然后在查询条件
追问
COLUMN_NAME可以代表任意列名,请问有什么可以代表任意行值?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式