Возвращение значений из функции PostgreSQL - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть функция, которая зацикливает таблицу и выполняет обработку возвращаемых значений. Я возвращал SETOF VARCHAR[] и возвращался с RETURN NEXT the_varchar_array и работал нормально.

Но теперь мне нужно вернуть INTEGER до VARCHAR[].

Как я могу определить возвращаемое значение для возврата значения INTEGER и VARCHAR[] и как я возвращаю их внутри функции?

Если определить как RETURNS SETOF INTEGER, INTEGER, INTERGER, VARCHAR[], это не работает.

Если я использую RETURNS TABLE(a INTEGER, b INTEGER, c INTEGER, d VARCHAR[]), работает, но я не знаю, как вернуть каждое значение внутри функции.

RETURN NEXT a,b,c,d не работает. Только RETURN NEXT возвращает пустую строку.

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

Эта документация по разработке в PostgreSQL показывает различные способы возврата значений из функций. Возможно, вам придется изучить составной тип возвращаемого значения или строку данных, содержащую все ваши значения.

Примечание - комментарий преобразуется в ответ по запросу ОП

1 голос
/ 01 декабря 2011

Попробуйте:

RETURNS SETOF record

Это должно позволить вам вернуть любую информацию, которую вы хотите.

...