是否可以在POSTGRESQL中使用OUT/INOUT参数和返回refcursor?
下面是一个示例片段。我尝试使用INOUT参数,同时尝试返回refcursor是否可以在POSTGRESQL中使用OUT/INOUT参数和返回refcursor?,postgresql,ref-cursor,Postgresql,Ref Cursor,下面是一个示例片段。我尝试使用INOUT参数,同时尝试返回refcursor CREATE OR REPLACE FUNCTION reffunc2(IN key int, INOUT name int) RETURNS refcursor AS $$ DECLARE ref refcursor; BEGIN name = 123; OPEN ref FOR SELECT col FROM test; RETURN ref; END; $$ LANGUAGE plpgsql; 指定OUT
CREATE OR REPLACE FUNCTION reffunc2(IN key int, INOUT name int)
RETURNS refcursor
AS $$
DECLARE
ref refcursor;
BEGIN
name = 123;
OPEN ref FOR SELECT col FROM test;
RETURN ref;
END;
$$
LANGUAGE plpgsql;
指定
OUT
或INOUT
参数与指定返回值相同,因此这两个定义必须匹配:
- 对于单个
参数,OUT
返回必须指定该参数的类型
- 如果有多个
参数,则必须使用OUT
返回记录
OUT
参数,将另一个指定为结果
使用以下命令:
CREATE FUNCTION reffunc2(
IN key int,
INOUT name int,
OUT x refcursor
) RETURNS record
在函数体中,必须为name
和x
赋值,并使用RETURN
而不带参数