Как я могу запустить хранимую процедуру с начала и конца в JdbcBatchItemWriter в весенней пакетной программе? - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть программа Spring Batch, и я хотел бы установить 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:
;

Не уверен, что это можно сделать.Но кто-нибудь знает, как я могу это сделать?

1 Ответ

0 голосов
/ 01 мая 2019

Вы неправильно завершаете операторы внутри анонимного блока:

BEGIN 
   INSERT INTO D_MED_LIMIT_OVERRIDE(SRC_ENV_SK) 
   VALUES(:srcEnvSk); --<< here
EXCEPTION 
   WHEN DUP_VAL_ON_INDEX THEN NULL; --<< here
END

При отправке оператора на сервер Oracle полная инструкция не должна завершаться символом ;. Вот почему ;

не требуется *1007*
...