Postgres plpgsql возвращает таблицу и значение - PullRequest
0 голосов
/ 19 мая 2019

В функции plpgsql я делаю returns table с несколькими столбцами, чтобы вернуть таблицу с несколькими строками. Но теперь я хочу также вернуть отдельное скалярное значение вместе с ним. Итак, одно индивидуальное скалярное значение плюс несколько строк. Как я могу это сделать?

Примером является

select count(*) from exampletable into individidual_scalar_value;
select a, b, c from anothertable into several_rows limit 10;

1 Ответ

1 голос
/ 19 мая 2019

Вы можете использовать подзапрос для подсчета в первой таблице:

select a, b, c, (select count(*) from exampletable)
from anothertable
into several_rows
limit 10;

Но учтите, что в целом использование LIMIT без ORDER BY довольно бессмысленно, потому что вы не говорите Postgres , которые 10 записей, которые вы хотите выбрать.Итак, добавьте разумное предложение ORDER BY в приведенный выше запрос для достижения наилучших результатов.

...