如何在春季批处理程序中运行带有 JdbcBatchItemWriter 开始和结束的存储过程



我有一个弹簧批处理程序,我想将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后不需要;的原因

最新更新