Toolmaker Produkt-Dokumentation
Tipps und Tricks zu XSQL
Inhaltsübersicht
SQL-Abfragen aus IBM Query/400-Abfragen importieren (RTVQMQRY)
Jede Query/400-Abfage (Objekte vom Typ *QRYDFN) hat einen SQL-Befehl gespeichert, der ausgeführt wird, wenn die Abfrage gestartet wird (z.B. mit dem Befehl RUNQRY
).
Mit dem Befehl RTVQMQRY ist es möglich, diesen SQL-Befehl aus der Abfrage zu exportieren und in einer Teildatei zu speichern.
Als Beispiel diene die Abfrage AETTMP/DSPOBJD_AL:
Einmalig erforderlich: Quelldatei zum Speichern der SQL-Befehle erstellen
Zunächst muss eine physische Quelldatei erstellt werden, in der die SQL-Befehle der einzelnen Queries gespeichert werden sollen:
CRTSRCPF FILE(AETTMP/QQRYSQL) TEXT('Aus *QRYDFN extrahierte SQL-Befehle')
Den Befehl RTVQMQRY verwenden (für jede Abfrage, die man übernehmen möchte)
Jetzt ist es möglich, mit dem Befehl RTVQMQRY die SQL-Befehle zu extrahieren:
RTVQMQRY QMQRY(AETTMP/DSPOBJD_AL)
SRCFILE(AETTMP/QQRYSQL)
ALWQRYDFN(*YES)
Jetzt steht der SQL-Befehl aus dem Query in der Quelle AETTMP/QQRYSQL(DSPOBJD_AL) und kann von dort mit einem geeigneten Programm (z.B. RDi) in das XSQL-Fenster kopiert werden.
Den Befehl aus der Quell-Teildatei über "SQL importieren" übernehmen
Im xsql-Fenster rechter Mausklick → SQL importieren ...
Namen der Quell-Teildatei angeben
Den Teildateinamen in [eckige Klammern] setzen!
Den Teil des Textes löschen, der nicht zum SQL-Befehl gehört.
Den Befehl aus der Quell-Teildatei in das xsql-Fenster über copy/paste übernehmen
Hier geht es darum, den Text aus der Quell-Teildatei in die Zwischenablage des PCs zu kopieren und im xsql-Fenster einzufügen.
Zum Anzeigen der Quell-Teildatei können verscchiedene Programme verwendet werden.
Kopieren mit IBM Rational Developer for i (RDi)
Kopieren mit SEU
Das Programm Source Entry Utility (SEU) ist der Quell-Editor für IBM i Green-Screen.
Aufruf der Quell-Datei in einer 5250-Sitzung mit dem Befehl
WRKMBRPDM FILE(AETTMP/QQRYSQL)
Anstelle von AETTMP/QQRYSQL ist der Bilbliotheks-/Dateiname vom obigen Schritt (CRTSRCPF) zu verwenden
Auswahl 5 für die Teildatei mit dem exportieren SQL-Befehl
Es erscheint der Inhalt der Quell-Teildatei
Mit der Maus den SELECT-Befehl markieren und Bearbeiten → Kopieren klicken
Einfügen in das xsql-Fenster
Fügen Sie den kopierten SQL-Code mit STRG-V (oder über das Kontextmenü) in das xsql-Fenster ein und Klicken Sie auf "Ausführen"
Besonderheiten des Query/400 - SQL
Text-Ergebnisfelder mit Konkatenierung
In Query/400 ist es möglich, Textfelder zusammenzusetzen:
Die dazu RTVQMQRY-Ausgabe sieht so aus:
Dieser Befehl muss an zwei Stellen korrigiert werden, damit xsql ihn verarbeiten kann:
- !! muss in concat gewandelt werden
- Alle Anführungszeichen (") müssen entfernt werden
RTVQMQRY-Ausgabe | korrigierter Befehl |
---|---|
|
|
Mit diesen beiden Korrekturen kann der Befehl auch in xsql gestartet werden: