我创建了一个带有 INOUT refcursor 参数的过程。
create or replace procedure test_rc(inout ref_cur refcursor)
as
$$
begin
if 1 = 2 then
open ref_cur for select 'one';
end if;
end;
$$
language plpgsql;
如果在过程执行过程中控件没有到达'OPEN refcursor.........
'语句,我总是得到以下错误。
错误:游标“r”不存在 SQL 状态:34000
如何在异常块中捕获它以避免出错并返回 NULL refcursor 输出? (就像在 Oracle PL/SQL 中一样)。
我曾尝试在 WHEN sqlstate '34000'
块中使用 exception
但它没有捕获此异常。