“OPEN RELIST FOR 。--游标”放在if...else...语句内,那么该过程的out参数就有可能没有返回值了....

解决方案 »

  1.   

    应该是上面的原因,没有返回的游标是不许可的!PROCEDURE DENGRUCX
      (
        YHM IN varchar2,
        KL IN varchar2,
        RELIST OUT IMM_DENGRUCX.FULIST --游标
      )
      AS
        RESTR VARCHAR2(50) := '';
        YID VARCHAR2(3) := '001';
        NL  CHAR(1) := '';
      BEGIN
        RESTR := MIMA(YHM,KL);
        IF RESTR = 'PASSED' THEN        --就是加了这个IF,游标无效
           OPEN RELIST FOR 。--游标
        ELSE
          Open Relist For Select 'ERROR IN YHID OR PASSWORD !' from Dual;
        END IF;
      END DENGRUCX;