Der einfachste Weg, dies zu tun, ist das Finden und Ersetzen von Regex.
Dies geschieht entweder durch Gehen zu Search
Klicken Sie in der Symbolleiste auf und wählen Sie dann Replace...
oder über die Tastenkombination STRG + H .
Stellen Sie sicher, dass Sie haben Regular expression
Wählen Sie unten rechts und stellen Sie sicher, dass . matches newline
ist deaktiviert (dies ist wichtig, damit der reguläre Ausdruck wie vorgesehen funktioniert).
ANMERKUNG: Bei dieser Regex-Lösung wird davon ausgegangen, dass jede Zeile einen separaten und vollständigen Tabellennamen hat (da in keine Tabellennamen auf mehrere Zeilen aufgeteilt sind und jede Zeile nur einen einzelnen Tabellennamen enthält).
Geben Sie Folgendes in das Feld "Suchen" ein:
^(.*)
Geben Sie Folgendes in das Feld "Ersetzen" ein:
--\1\nSELECT * FROM \1;
Erläuterung
Die Regex-Zeichenfolge kann wie folgt unterteilt werden:
Das ^
ist ein Zeilenanfangsanker und stellt sicher, dass der reguläre Ausdruck mit dem Anfang jeder Zeile übereinstimmt. Dies stellt sicher, dass keine zusätzlichen Leitungen versehentlich aufgenommen werden.
Das (.*)
group wird verwendet, um ein beliebiges Zeichen zu finden ( .
) beliebig oft ( *
) und dann, um diese übereinstimmenden Zeichen für die Ersetzungszeichenfolge verfügbar zu machen ( ()
) mit dem Platzhalterformat von $x
, wobei x die Gruppennummer ist (die sich nacheinander erhöht, mit 1
der erste zu sein, 2
der zweite sein und so weiter).
Die Ersetzungszeichenfolge kann wie folgt unterteilt werden:
--\1
wird zum Drucken von zwei Literalen verwendet -
Zeichen, gefolgt von allen Zeichen, die im regulären Ausdruck gefunden wurden (das (.*)
Gruppe), die anstelle von eingefügt werden \1
.
Das \n
wird verwendet, um eine neue Zeile in die Ersetzungszeichenfolge einzufügen ( \r\n
Möglicherweise muss stattdessen je nach Betriebssystem verwendet werden, aber ich gehe derzeit davon aus, dass \n
allein wird funktionieren).
Das SELECT * FROM \1;
Abschnitt wird verwendet, um die Zeichenfolge wie gesehen zu drucken, außer \1
wird wie zuvor durch die übereinstimmenden Zeichen ersetzt (dies ist der Tabellenname).
find
Feld. Funktioniert der Rest der Ausgabe mit Ausnahme des Tabellennamens?\1
anstatt$1
(obwohl ich mir nicht sicher bin, warum es auf meiner und nicht auf deiner Maschine funktionieren würde). Behebt die Änderung der Ersetzungszeichenfolge das Problem? In diesem Fall aktualisiere ich die Antwort mit den zusätzlichen Details.