我正在使用 Postgresql 8.3 并具有以下简单函数,该函数将 a 返回refcursor
给客户端
CREATE OR REPLACE FUNCTION function_1() RETURNS refcursor AS $$
DECLARE
ref_cursor REFCURSOR;
BEGIN
OPEN ref_cursor FOR SELECT * FROM some_table;
RETURN (ref_cursor);
END;
$$ LANGUAGE plpgsql;
现在,我可以使用以下 SQL 命令来调用这个函数并操作返回的游标,但是游标名称是由 PostgreSQL 自动生成的
BEGIN;
SELECT function_1(); --It will output the generated cursor name , for example , "<unnamed portal 11>" ;
FETCH 4 from "<unnamed portal 11>";
COMMIT;
除了如 38.7.3.5 所述将游标名称显式声明为函数的输入参数。返回游标,我可以声明自己的游标名称并使用此游标名称来操作返回的游标,而不是 Postgresql 自动为我生成吗?
如果没有,是否有任何命令可以获取生成的游标名称?