假如你知道有一个值存在于 某个表 的 某个字段 中,你可以通过下面的sql 查找出表名和字段名 http://my.oschina.net/jeffyu/blog oracle declare var_sql varchar2(1000); var_value varchar2(100):='要查的值'; var_cnt number; var_table_owner varchar2(2
假如你知道有一个值存在于 某个表 的 某个字段 中,你可以通过下面的sql 查找出表名和字段名
http://my.oschina.net/jeffyu/blog
oracle declare var_sql varchar2(1000); var_value varchar2(100):='要查的值'; var_cnt number; var_table_owner varchar2(20):='表的所有者';begin for table_detail in (select table_name,column_name from all_tab_columns where owner=var_table_owner) loop begin var_sql := 'select count(*) from '||var_table_owner||'.' ||table_detail.table_name||' where trim('||table_detail.column_name||')='''||var_value||''''; execute immediate var_sql into var_cnt; exception when others then var_cnt:=0; end; if(var_cnt>0)then dbms_output.put_line('table name:'||table_detail.table_name||'-->column name:'||table_detail.column_name); end if; end loop;end;