问题描述
我第一次使用存储过程,并且我有一个存储过程,该过程会进行一些检查以将SYS_REFCURSOR设置为NULL。
create or replace PROCEDURE "proc"
(
tableRec OUT SYS_REFCURSOR
)
.
.
BEGIN
.
.
EXCEPTION
WHEN NO_DATA_FOUND THEN
tableRec := NULL;
END;
一旦运行,我需要在运行另一个if循环之前检查tableRec是否为null。 我尝试如下
BEGIN
if tableRec = NULL then
但是这不起作用。在其他地方,可以通过写来检查数字,例如itemCount,是否为0
if itemCount = 0 then
谁能解释一下如何为SYS_REFCURSOR实现此功能,以及为什么它适用于数字而不是数字。 它不是要检查SYS_REFCURSOR是否为空(因为我在Internet上找到了有关它的信息),而是要利用将其设置为NULL的事实
解决方法
您需要使用IS NULL
检查是否为空吗?
create or replace PROCEDURE proc (tableRec OUT SYS_REFCURSOR)
as
BEGIN
if tableRec is NULL then
null;
end if;
END;
/