未打开refcursor时Postgres捕获异常

时间:2021-03-10 19:42:28

标签: postgresql

我创建了一个带有 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 但它没有捕获此异常。

0 个答案:

没有答案