【发布时间】:2020-09-17 07:43:17
【问题描述】:
我是第一次使用存储过程,我有一个存储过程,它会进行一些检查以将 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 的事实
【问题讨论】:
-
我建议不要对 ref cursor 使用这种空检查。
标签: sql oracle stored-procedures plsql