La fonction Postgres attribue les résultats de la requête à plusieurs variables

28

J'ai besoin d'attribuer des valeurs à 2 variables comme ci-dessous dans la fonction Postgres.

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

Comment puis-je attribuer 2 valeurs à 2 variables dans une commande de ligne?

Comme

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

Réponses:

44

Comme indiqué dans "40.5.3. Exécution d'une requête avec un résultat sur une seule ligne" (soulignement le mien):

Le résultat d'une commande SQL produisant une seule ligne (éventuellement de plusieurs colonnes) peut être affecté à une variable d'enregistrement, une variable de type ligne ou une liste de variables scalaires . Cela se fait en écrivant la commande SQL de base et en ajoutant une clause INTO.

Cela devrait donc fonctionner:

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