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

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...;
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.