oracle 丢弃包体,继续执行,无法执行

lf5gs5x2  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(122)

在包体中,错误地添加了代码,即使编译了包,也无法使用该函数并保留在执行中。
这是代码:

if admtrans.code_total(codes,datec,102) = 1 then 
        return  null;
            end if;

enter image description here
添加的代码如图所示
和我的函数,

5jvtdoz2

5jvtdoz21#

如果你有包体:

CREATE PACKAGE BODY admtrans AS
  FUNCTION code_total(
    codes IN VARCHAR2,
    datec IN DATE,
    value IN VARCHAR2
  ) RETURN NUMBER
  IS
  BEGIN
    if admtrans.code_total(codes,datec,102) = 1 then 
      return  null;
    end if;
  END;
END;
/

然后当你调用它时,函数会调用它自己并进入一个无限循环。
要么:
1.从客户端,取消请求;或
1.从服务器kill the client's session
一旦你停止了它的运行,然后编辑包源代码并重新编译,这样它就不会进入无限循环。

相关问题