Ich habe eine DB2-Abfrage geschrieben Folgendes zu tun:DB2 entspricht dem GO von SQL?
- erstellen temporäre Tabelle
- Wählen Sie aus einem Monster Abfrage/Einfügen in die temporäre Tabelle
- Wählen Sie aus der temporären Tabelle/Löschen von alten Tabelle
- Wählen Sie aus der temporären Tabelle/einfügen in eine andere Tabelle
In MSSQL, ich bin die Befehle nacheinander als eine lange Abfrage auszuführen erlaubt. Gelingt dies nicht, kann ich sie mit 'GO'-Befehlen abgrenzen. Wenn ich dies in DB2 versuchen, erhalte ich die Fehlermeldung:
DB2CLI.DLL: ERROR [42601] [IBM][CLI Driver][DB2] SQL0199N The use of the reserved
word "GO" following "" is not valid. Expected tokens may include: "".
SQLSTATE=42601
Was kann ich diese Anweisungen außerhalb des Bereichs ohne die temporäre Tabelle zu begrenzen verwenden gehen?
Das ist ein bisschen kompliziert in DB2 ist. Normalerweise ist das Standardtrennzeichen das Semikolon, in den Körpern gespeicherter Prozeduren ist jedoch das Trennzeichen immer ein Semikolon, während das Trennzeichen, das nach dem Befehl CREATE PROCUEDURE/was auch immer verwendet wird, etwas anderes sein muss. Sie können dieses Trennzeichen in der Umgebung überschreiben, von der aus Sie DB2 aufrufen. Traditionell wird \\ als "äußeres Trennzeichen" verwendet, Sie können jedoch auch jede andere Zeichenfolge verwenden. –