Código para la búsqueda de un texto contenido en un campo de una tabla de Oracle (Tabla y nombre del campo desconocida). El siguiente ejemplo busca la palabra texto en todos los campos de todas las tablas de la base de datos a la que estamos conectados en este momento.
variable val varchar2(10)
exec :val := ‘texto’
SELECT DISTINCT SUBSTR (:val, 1, 11) “Searchword”,
SUBSTR (table_name, 1, 14) “Table”,
SUBSTR (column_name, 1, 14) “Column”
FROM cols,
TABLE (xmlsequence (dbms_xmlgen.getxmltype (‘select ‘
|| column_name
|| ‘ from ‘
|| table_name
|| ‘ where upper(‘
|| column_name
|| ‘) like upper(”%’
|| :val
|| ‘%”)’ ).extract (‘ROWSET/ROW/*’) ) ) t
ORDER BY “Table”