Schrittweite eine Sequenz zweimal in DB2
Ich brauche, um den nächsten Wert einer Sequenz zweimal in DB2 (version 9.1). Anstatt der Ausführung der folgenden zweimal:
SELECT nextval FOR schema.sequence AS id
FROM dual
Ich würde gerne etwas machen wie:
SELECT nextval FOR schema.sequence AS id1,
nextval FOR schema.sequence AS id2
FROM dual
Außer den oben genannten nur-Schritten es einmal:
ID1 ID2
----------- -----------
643 643
1 record(s) selected.
Bin ich gezwungen, nur Abfrage zweimal, oder gibt es eine Möglichkeit zum erhöhen zweimal in 1 Abfrage?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein wenig Komplex, aber es funktioniert (ich habe überprüft, indem Sie es in DB2 v. 9).
Dies ist einige meiner Lieblings-code, und es ist Rekursives SQL. Sie können es tun, ohne die Sequenz-Objekt, und es wird nur erzeugt mehrere Reihen von zahlen. Ich benutze das manchmal, um Zeilen einfügen von generierten Testdaten.
Ok, es ist ein hack, aber die folgende funktioniert... ich würde gerne sehen, eine sauberere Antwort obwohl, so postet bitte eine Antwort, wenn Sie einen kennen!
Die Ergebnisse mit:
gibt es keine Reihenfolge ist noch die dual-Tabelle in DB2
Nur weil ich bin Kommissionierung auf Sie, Mike :-P, hier ist eine andere Lösung:
Es wird funktionieren, wenn Sie es tun, wie zwei Zeilen, so wie hier. Aber wenn Sie es tun, wie eine Zeile:
wird es wieder die gleiche Sequenz Wert. 🙁