Die Postgres-Funktion weist Abfrageergebnisse mehreren Variablen zu

28

Ich muss 2 Variablen Werte zuweisen, wie unten in der Postgres-Funktion.

a := select col1 from tbl where ...
b := select col2 from tbl where ...

Wie kann ich 2 Variablen in einem Zeilenbefehl 2 Werte zuweisen?

Mögen

a,b := select col1,col2 from tbl where ...
Xianlin
quelle

Antworten:

44

Wie in "40.5.3. Ausführen einer Abfrage mit einem einzeiligen Ergebnis" (Hervorhebung meiner) gesagt :

Das Ergebnis eines SQL-Befehls, der eine einzelne Zeile (möglicherweise mehrere Spalten) ergibt, kann einer Datensatzvariablen, einer Zeilentypvariablen oder einer Liste skalarer Variablen zugewiesen werden . Dies erfolgt durch Schreiben des SQL-Basisbefehls und Hinzufügen einer INTO-Klausel.

Das sollte also funktionieren:

SELECT col1, col2 INTO a, b FROM tbl WHERE...;
Milen A. Radev
quelle