0

我第一次使用存储过程,我有一个存储过程,它进行一些检查以将 SYS_REFCURSOR 设置为 NULL。

create or replace PROCEDURE "proc"
(
    tableRec OUT SYS_REFCURSOR
)
.
.
BEGIN
.
.
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
        tableRec := NULL;
    END;

一旦运行,我需要在运行另一个 if 循环之前检查 tableRec 是否为空。我尝试如下

BEGIN
    if tableRec = NULL then

但这不起作用。在其他地方,可以通过写入来检查一个数字是否为 itemCount,是否为 0

if itemCount = 0 then

谁能解释如何为 SYS_REFCURSOR 实现这一点以及为什么它适用于数字而不是它。这不是检查 SYS_REFCURSOR 是否为空(因为我在互联网上找到了有关它的信息),而是利用它设置为 NULL 的事实

4

1 回答 1

1

您需要使用IS NULL来检查某些内容是否为 null ?

create or replace PROCEDURE proc (tableRec OUT SYS_REFCURSOR)
as
BEGIN

if tableRec is NULL then
    null;
end if;

END;
/

演示

于 2020-09-17T07:51:03.720 回答