La función Postgres asigna resultados de consultas a múltiples variables

28

Necesito asignar valores a 2 variables como se muestra a continuación en la función Postgres.

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

¿Cómo puedo asignar 2 valores a 2 variables en un comando de línea?

Me gusta

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

Respuestas:

44

Como se dijo en "40.5.3. Ejecutar una consulta con un resultado de una sola fila" (énfasis mío):

El resultado de un comando SQL que produce una sola fila (posiblemente de varias columnas) puede asignarse a una variable de registro, variable de tipo fila o lista de variables escalares . Esto se hace escribiendo el comando SQL base y agregando una cláusula INTO.

Entonces esto debería funcionar:

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