我正在使用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?