在Postgresql中的函数内声明带有“WITH HOLD”的游标

时间:2018-03-04 19:47:53

标签: postgresql ref-cursor

我正在使用postgresql 10.3。 以下函数返回绑定到查询

的游标
CREATE FUNCTION reffunc1(text) RETURNS refcursor AS '
DECLARE mycursor CURSOR FOR SELECT col FROM test where col=$1;
BEGIN
    OPEN mycursor;
    RETURN mycursor;
END;
' LANGUAGE plpgsql
;

我需要将返回的光标“WITH HOLD”。我这样做了。

CREATE FUNCTION reffunc2(text) RETURNS refcursor AS '
DECLARE mycursor CURSOR WITH HOLD FOR SELECT col FROM test where col=$1;
BEGIN
    OPEN mycursor;
    RETURN mycursor;
END;
' LANGUAGE plpgsql
;

但是我收到了以下错误。

ERROR:  syntax error at or near "WITH"

为什么我们不能在这里使用WITH HOLD?

0 个答案:

没有答案
相关问题