A função Postgres atribui os resultados da consulta a várias variáveis

28

Eu preciso atribuir valores a 2 variáveis ​​como abaixo na função Postgres.

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

Como posso atribuir 2 valores a 2 variáveis ​​em um comando de linha?

Gostar

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

Respostas:

44

Como dito em "40.5.3. Executando uma consulta com um resultado de linha única" (grifo meu):

O resultado de um comando SQL produzindo uma única linha (possivelmente de várias colunas) pode ser atribuído a uma variável de registro, variável de tipo de linha ou lista de variáveis ​​escalares . Isso é feito escrevendo o comando SQL base e adicionando uma cláusula INTO.

Portanto, isso deve funcionar:

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