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

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...;
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.