-- How sane people do this
create or replace procedure find_string(str in varchar, prc out sys_refcursor)
as begin
    open prc for
    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');
end;
/

var rc refcursor
print ''
execute find_string('н_люди', :rc)

column id   heading "No." format 999999
column name heading "Имя объекта" format a19
column line heading "# строки" format 9999
column text heading "Текст" format a44
print rc;

