przeszukaj całą bazę danych Oracle dla części łańcucha

Próbuję znaleźć określony ciąg w całej bazie danych Oracle.

Śledziłem przykład w innym temacie tutaj (Wyszukaj wszystkie pola we wszystkich tabelach dla określonej wartości (Oracle)) i działa, gdy łańcuch jest całą wartością w kolumnie. Ale muszę wyszukać ciąg jako część kolumny.

Na przykład, jeśli szukam „Alert”, powinien zwrócić wszystkie kolumny z „Alert” i wszystkie kolumny z „Alert_QB”

To jest właśnie zapytanie:

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;
/

Myślę, że jest w pobliżu „UŻYWANIA” ALERT ”; linijkę, którą muszę dodać, ale nie wiem co.

Dzięki

questionAnswers(2)

yourAnswerToTheQuestion