plpgsql: вызов функции с двумя параметрами OUT

Я пытаюсь получить значения из функции plpgsql с двумя параметрами OUT, но у меня есть некоторые проблемы.

Это функции:

CREATE OR REPLACE FUNCTION get_test(OUT x text, OUT y text)
AS $
BEGIN
   x := 1;
   y := 2;
END;
$  LANGUAGE plpgsql;
----------------------------------------------------------------

CREATE OR REPLACE FUNCTION get_test_read()
RETURNS VOID AS $
DECLARE
   xx text;
   yy text;
BEGIN

   SELECT get_test() INTO xx, yy;

   RAISE INFO 'x: <%>', xx;
   RAISE INFO 'y: <%>', yy;

END;
$  LANGUAGE plpgsql;

Вывод команды:

select get_test_read();

INFO: x: <(1,2)

INFO: y: <>

get_test_read

Таким образом, оба значения переходят к первому параметру. Я не могу найти пример того, как вызывать такую функцию.

Ответы на вопрос(1)

Решение Вопроса

OUT params, ваша функция вернетзапись.

Чтобы получить все значения, вы должны использовать функцию в качестве источника ваших данных и поместить их вFROM пункт, как это:

SELECT * FROM get_test() INTO xx, yy;
 marco05 мар. 2015 г., 15:52
Извините, я забыл принять ответ
 marco14 мая 2012 г., 15:46
Хорошо, довольно просто, спасибо :)

Ваш ответ на вопрос