Netezza - Как вернуть несколько значений из хранимой процедуры без REFTABLE - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь вернуть несколько значений из хранимой процедуры без использования reftable в Netezza.

CREATE OR REPLACE PROCEDURE TMP_GETTABLEINFO(CHAR(any), VARCHAR(any), VARCHAR(any)) returns char(1), varchar(30) EXECUTE AS OWNER LANGUAGE NZPLSQL AS begin_proc DECLARE a ALIAS FOR $1; b ALIAS FOR $2; BEGIN ... RETURN a, b; END;

Возможно ли это?Как?

Мои результаты: ERROR [HY000] ERROR: Must specify LANGUAGE

1 Ответ

0 голосов
/ 01 ноября 2018

Я не думаю, что это возможно.Я не видел случая возврата нескольких значений.

Из документации (Netezza_stored_procedures_guide.pdf): Обычно процедура NZPLSQL возвращает уникальное возвращаемое значение, но она также может возвращать набор результатов в формеуказанной таблицы.

Чтобы создать хранимую процедуру, которая возвращает набор результатов:

  • Определите хранимую процедуру с возвращаемым значением RETURNS REFTABLE (<table-name>), чтобы указать, что она возвращает результатнабор, который выглядит как указанная таблица.
  • Внутри тела процедуры используйте переменную REFTABLENAME, чтобы обратиться к таблице результатов.
...