-- How we're required to do it create or replace procedure find_string_dirty(str in varchar) as begin dbms_output.put_line('Текст запроса: ' || str); dbms_output.put_line(''); dbms_output.put_line(' No. Имя объекта # строки Текст'); dbms_output.put_line(' --- ------------------- ------------- ' || '--------------------------------------------'); for r in (select row_number() over(order by line) as id, name, line, text from sys.all_source where lower(text) like '%' || lower(str) || '%' and type in ('PROCEDURE', 'TRIGGER', 'FUNCTION')) loop dbms_output.put_line( to_char(r.id, '999') || ' ' || rpad(substr(r.name, 0, 20), 20, ' ') || ' ' || rpad(trim(to_char(r.line, '9999999999999')), 13, ' ') || ' ' || trim(replace(replace(r.text, chr(10)), chr(13))) ); end loop; end; / set serveroutput on format truncated execute find_string_dirty('Н_Люди')