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 ...

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...;
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.