Результат будет представлен в виде перечня полей таблиц в которых встречается искомая строка и указания количества записей в которых она встречается.
set serveroutput on; DECLARE schema_name varchar2(30) := 'hr'; -- имя схемы part_of_string varchar2(30) := 'grant'; -- искомая строка cnt_in_tab number := 0; search VARCHAR2(250); BEGIN FOR t IN ( select COL.OWNER as owr ,COL.TABLE_NAME as tbn ,COL.COLUMN_NAME as cln from all_tab_columns col where COL.OWNER = upper(schema_name) ) LOOP search := 'SELECT COUNT(*) FROM ' || t.owr || '.' || t.tbn || ' WHERE upper(to_char(' || t.cln || ')) LIKE upper(''%'|| part_of_string ||'%'')' ; EXECUTE IMMEDIATE search INTO cnt_in_tab; IF cnt_in_tab > 0 THEN dbms_output.put_line( 'TABLE: ' ||t.tbn ||'.'||t.cln||'; FOUND: '||cnt_in_tab ); END IF; END LOOP; END;