поиск по всей базе данных Oracle для части строки
Я пытаюсь найти конкретную строку во всей базе данных Oracle.
Я следовал примеру в другой теме здесь (Поиск всех полей во всех таблицах для определенного значения (Oracle)), и это работает, когда строка является целым значением в столбце. Но мне нужно искать строку как часть столбца.
Например, если я ищу 'Alert', он должен вернуть все столбцы с 'Alert' и все столбцы с 'Alert_QB'
Это запрос на данный момент:
DECLARE
match_count INTEGER;
BEGIN
FOR t IN (SELECT owner, table_name, column_name
FROM all_tab_columns
WHERE data_type LIKE '%CHAR%') LOOP
EXECUTE IMMEDIATE
'SELECT COUNT(*) FROM ' || t.owner || '.' || t.table_name ||
' WHERE '||t.column_name||' = :1'
INTO match_count
USING 'ALERT';
EXCEPTION when others then
null;
end;
IF match_count > 0 THEN
dbms_output.put_line( t.table_name ||' '||t.column_name||' '||match_count );
END IF;
END LOOP;
END;
/
Я думаю, что это рядом с "ИСПОЛЬЗОВАНИЕ 'ALERT';" линия, что мне нужно что-то добавить, но я не знаю, что.
Спасибо