Database 编译包体时出现PLS-00324错误

Database 编译包体时出现PLS-00324错误,database,oracle,package,Database,Oracle,Package,当我编译下面的代码时,我得到了PL-00324错误。此错误表示变量V_CD_ESTADO无法接收来自游标C_VERIFICA的返回,因为它不是游标。奇怪,不是吗?我做了很多研究,但a找不到对我有帮助的东西。。。所以,如果有人帮助我,我将非常感激 PLS-00324光标属性不能应用于非光标“字符串” CREATE OR REPLACE PACKAGE BODY PCK_TB_ESTADO IS FUNCTION FNC_VALIDA_ESTADO (P_CD_ESTADO IN TB_FU

当我编译下面的代码时,我得到了PL-00324错误。此错误表示变量V_CD_ESTADO无法接收来自游标C_VERIFICA的返回,因为它不是游标。奇怪,不是吗?我做了很多研究,但a找不到对我有帮助的东西。。。所以,如果有人帮助我,我将非常感激

PLS-00324光标属性不能应用于非光标“字符串”

CREATE OR REPLACE PACKAGE BODY PCK_TB_ESTADO
IS
  FUNCTION FNC_VALIDA_ESTADO
  (P_CD_ESTADO IN TB_FUNCIONARIO.CD_ESTADO%TYPE)
  RETURN BOOLEAN
  IS
    CURSOR C_VERIFICA
    IS
      SELECT CD_ESTADO
      FROM TB_FUNCIONARIO
      WHERE CD_ESTADO = P_CD_ESTADO;
    V_CD_ESTADO TB_FUNCIONARIO.CD_ESTADO%TYPE;
  BEGIN
    OPEN C_VERIFICA;
      FETCH C_VERIFICA INTO V_CD_ESTADO;
    IF V_CD_ESTADO%NOTFOUND THEN
      RETURN TRUE;
    ELSE
      RETURN FALSE;
    END IF;
    CLOSE C_VERIFICA;
  END;
END;

您想检查未找到
C\u VERIFICA%NOTFOUND
的光标状态,而不是变量
V\u CD\u ESTADO
光标属性
%found
%NOTFOUND
%ROWS%
%是否处于打开状态等。仅适用于
光标
。也就是说,定义为
游标游标的游标\u 1是…

在这种情况下,游标
游标\u 1
可以具有这些游标属性。例如
cursor\u 1%处于打开状态
cursor\u 1%未找到
等等。在代码中,您显然将游标属性与非游标元素相关联,即
V_CD_ESTADO
,它只是
TB_functionario.CD_ESTADO
类型的一个变量

你打算做的是

IF C_VERIFICA%NOTFOUND THEN
RETURN TRUE;
ELSE
  RETURN FALSE;
END IF;
因为这里的光标是
C_VERIFICA