Функция Postgres назначает результаты запроса нескольким переменным

28

Мне нужно присвоить значения переменной 2, как показано ниже в функции Postgres.

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

Как я могу назначить 2 значения для 2 переменных в одной строке команды?

подобно

a,b := select col1,col2 from tbl where ...
Xianlin
источник

Ответы:

44

Как сказано в «40.5.3. Выполнение запроса с однорядным результатом» (выделено мной):

Результат команды SQL, дающей одну строку (возможно, из нескольких столбцов), может быть присвоен переменной записи, переменной типа строки или списку скалярных переменных . Это делается написанием базовой команды SQL и добавлением предложения INTO.

Так что это должно работать:

SELECT col1, col2 INTO a, b FROM tbl WHERE...;
Милен А. Радев
источник