Sie können dies mit einer einzigen Abfrage tun, obwohl es etwas kompliziert ist. Diese Abfrage durchsucht alle CHAR- und VARCHAR2-Spalten im aktuellen Schema nach der Zeichenfolge '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
Beachten Sie, dass dies eine angepasste Version der Abfrage von Laurent Schneider zu Zähle die Zeilen in jeder Tabelle mit einer einzigen Abfrage.