Durchsucht die gesamte Oracle-Datenbank nach einem Teil der Zeichenfolge

Ich versuche, eine bestimmte Zeichenfolge in einer gesamten Oracle-Datenbank zu finden.

Ich habe das Beispiel in einem anderen Thema hier verfolgt (Alle Felder in allen Tabellen nach einem bestimmten Wert durchsuchen (Oracle)), und es funktioniert, wenn die Zeichenfolge der gesamte Wert in einer Spalte ist. Aber ich muss nach der Zeichenfolge als Teil der Spalte suchen.

Wenn ich zum Beispiel nach 'Alert' suche, sollte es alle Spalten mit 'Alert' in und alle Spalten mit 'Alert_QB' zurückgeben.

Dies ist die Abfrage im Moment:

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

Ich denke, es ist in der Nähe des "USING 'ALERT';" Zeile, die ich etwas hinzufügen muss, aber ich weiß nicht was.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage