Функция 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 ...

Ответы:


44

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

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

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

SELECT col1, col2 INTO a, b FROM tbl WHERE...;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.