Bạn có thể làm điều đó với một truy vấn duy nhất mặc dù nó hơi phức tạp. Truy vấn này sẽ tìm kiếm tất cả các cột CHAR và VARCHAR2 trong lược đồ hiện tại cho chuỗi '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
Lưu ý rằng đây là phiên bản điều chỉnh của truy vấn Laurent Schneider thành đếm các hàng trong mỗi bảng với một truy vấn duy nhất.