oracle中已经知道一个具体值,如何根据该值查询出含有该值的表名和列名? 200
如图:已经知道D3这个值,用什么语句可以根据D3查询出含有D3值的表名:“IQC_PPAP_PROJECTS”和列名:“VEHICLEMODEL”...
如图:已经知道D3这个值,用什么语句可以根据D3查询出含有D3值的表名:“IQC_PPAP_PROJECTS”和列名:“VEHICLEMODEL”
展开
4个回答
展开全部
如何查询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 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加条件。把有数值的粘出来
all_tables 你看看这个表中有没有字段的。然后在查询条件
如果这个表中没有表的字段,那就把表名都粘出来。然后where加条件。把有数值的粘出来
追问
COLUMN_NAME可以代表任意列名,请问有什么可以代表任意行值?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个需求很不好做,就算是做了,也不一定有实际应用意义。因为性能不敢保证。当然还是可以做到的。思路如下。
首先,查询系统自带试图all_tables或者user_tables,如果可以指定用户名更好。
然后,循环每一个表的每一个字符串字段,看是不是有包含D3的值 ,如果有记下来表名字段名,就这样一直循环。
因为数据库表有可能很多,而且说不定哪个字段有了D3,还有是不是考虑clob字段,等等。所以最终不一定是你想要的结果。当然如果你可以指定某几个表或者表名,字段名有某些规律的话,会好很多。
谨慎操作
首先,查询系统自带试图all_tables或者user_tables,如果可以指定用户名更好。
然后,循环每一个表的每一个字符串字段,看是不是有包含D3的值 ,如果有记下来表名字段名,就这样一直循环。
因为数据库表有可能很多,而且说不定哪个字段有了D3,还有是不是考虑clob字段,等等。所以最终不一定是你想要的结果。当然如果你可以指定某几个表或者表名,字段名有某些规律的话,会好很多。
谨慎操作
追问
请问在试图all_tables查询每一张表是否包含D3的值 ,用SQL语句怎么表示?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
all_tables 你看看这个表中有没有字段的。然后在查询条件
追问
COLUMN_NAME可以代表任意列名,请问有什么可以代表任意行值?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询