oracle怎么查询的sql中字段包含某个字段

如题所述

第1个回答  2016-12-27
  --我这里说的字段名跟列 是同一个意思
  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;本回答被网友采纳
相似回答