我有一个弹簧批处理程序,我想将sql设置为存储过程。
BEGIN INSERT INTO D_MED_LIMIT_OVERRIDE(SRC_ENV_SK) VALUES(:srcEnvSk) EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL END
当我使用它时,我收到错误:
Encountered the symbol "end-of-file" when expecting one of the following:
;
不确定是否可以做到这一点。但是有谁知道我该怎么做?
您没有正确终止匿名块中的语句:
BEGIN
INSERT INTO D_MED_LIMIT_OVERRIDE(SRC_ENV_SK)
VALUES(:srcEnvSk); --<< here
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN NULL; --<< here
END
但是,将语句发送到 Oracle 服务器时,完整语句不得以;
终止。这就是为什么END
后不需要;
的原因