是否可以在每个表的每个字段中搜索Oracle中的特定值 .
我想这样做而不使用任何程序..
我们可以用查询来做吗?
你可以用一个查询来完成它,虽然它有点复杂 . 此查询将搜索当前架构中所有CHAR和VARCHAR2列的字符串 'JONES'
'JONES'
select table_name, column_name from( select table_name, column_name, to_number( extractvalue( xmltype( dbms_xmlgen.getxml( 'select count(*) c from ' || table_name || ' where to_char(' || column_name || ') = ''JONES''' ) ), 'ROWSET/ROW/C' ) ) cnt from (select utc.*, rownum from user_tab_columns utc where data_type in ('CHAR', 'VARCHAR2') ) ) where cnt >= 0
请注意,这是Laurent Schneider对count the rows in every table的查询的改编版本,只有一个查询 .
1 回答
你可以用一个查询来完成它,虽然它有点复杂 . 此查询将搜索当前架构中所有CHAR和VARCHAR2列的字符串
'JONES'
请注意,这是Laurent Schneider对count the rows in every table的查询的改编版本,只有一个查询 .