我尝试在不使用Netezza中的reftable的情况下从存储过程中返回一些值。
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
答案 0 :(得分:1)
我认为这不可能。我还没有看到返回多个值的情况。
从文档(Netezza_stored_procedures_guide.pdf):通常,NZPLSQL过程返回唯一的返回值,但是它也可以以指定表的形式返回结果集。
要创建一个返回结果集的存储过程:
RETURNS REFTABLE (<table-name>)
定义存储过程,以指示它返回的结果集类似于指定的表。REFTABLENAME
引用结果表。