查找 oracle 数据库中包含某一字段的表名

我不知道表名,知道列名,知道列里面有内容是‘xiaoming’如何能把这个表的表名查找出要找的不是字段名为xiaoming的,某个字段里面的内容叫xiaoming,比如字... 我不知道表名,知道列名 ,知道列里面有内容是‘xiaoming’
如何能把这个表的表名查找出
要找的不是字段名为xiaoming的,某个字段里面的内容 叫xiaoming,
比如 字段名 为NAME 的字段下 内容 为 xiaoming 的所有的表
展开
 我来答
6rl
2013-09-23 · TA获得超过704个赞
知道小有建树答主
回答量:580
采纳率:66%
帮助的人:376万
展开全部
--我这里说的字段名跟列 是同一个意思

select column_name,
table_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where column_name='字段名'; 
--根据字段名查出相关的表名出来。记录下来
--然后对查出来的表进行查询,找到含这内容字段的表
select  * from 表名 where 字段名='xiaoming'
追问
我查出来的有800多个表,有没有什么方法能更便捷一些 能查出来 内容 包含‘xiaoming’的
追答
declare
l_cnt    varchar2(20);
v_sql  varchar2(4000);
v_tablename varchar(200);
  cursor cursor_jsdx is select 'select count(*) from ' || table_name || ' where NAME=''xiaoming''',table_name from user_tab_columns where column_name='NAME';
  --注:这里的字段名要大写 
begin
     open cursor_jsdx;
     
     
     Loop
            fetch cursor_jsdx into v_sql,v_tablename;
            exit when cursor_jsdx%notfound;
            execute immediate v_sql       into l_cnt;           
         if l_cnt >0 then   
         ---如果该表有那内容的就打印那个表的名字。
            dbms_output.put_line(v_tablename);
         end if;       

     end loop;
     
    Close cursor_jsdx;


end;
太平岁年丰9
2013-09-23 · TA获得超过1231个赞
知道小有建树答主
回答量:1017
采纳率:100%
帮助的人:1093万
展开全部
select ’select * from '||owner||'.'||table_name||' where ‘||column_name||’=‘‘xiaoming’
’;' from dba_tab_columns
where column_name='列名'
;
执行完这个结果,再把结果贴上,当做命令执行,有结果的就是你要找的表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT资讯及架构进阶
2013-09-23
知道答主
回答量:3
采纳率:0%
帮助的人:4069
展开全部
Oracle system用户下执行 select table_name from DBA_TAB_COLUMNS where COLUMN_NAME='字段名';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e829216
2013-09-23 · 超过19用户采纳过TA的回答
知道答主
回答量:43
采纳率:100%
帮助的人:45万
展开全部
select table_name from all_tab_columns
where column_name like '%XIAOMING%'
追问
要找的不是字段名为xiaoming的,某个字段里面的内容 叫xiaoming,
比如 字段名 为NAME 的字段下 内容 为 xiaoming 的所有的表
追答
select 'select * from '|| table_name ||' where 你知道的列名=''xiaoming'';'

from all_tab_columns
where column_name ='你知道的列名'

将得到的SQL语句,再执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KeamSpring
2013-09-23 · 超过22用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:63.8万
展开全部
这个不行吧,这你要问DBA了
可以猜猜着试试,这个估计是名字,先查列名有没有对应name的,再找那些表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式