Я запускал хранимую процедуру с Springs SimpleJdbcCall
вот так:
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("example_proc");
jdbcCall.execute();
// do other stuff on other subsystems
// the sysout below is just an example - the real scenario was somewhat different
System.out.println("Supposedly after the end of the stored procedure call");
Хранимая процедура работала долгое время, и она перекрывалась с тем, что должно было произойти после этого .
Хранимая процедура была написана на SQL серверном диалекте Microsoft и выглядела так:
CREATE PROCEDURE example_proc
AS
BEGIN
INSERT INTO example_table_1 SELECT * FROM example_table_2
UPDATE example_table_1 SET col1 = 'a' WHERE ...
END
Вопрос: как убедиться, что SimpleJdbcCall
ждет, пока процедура завершена?