"endDelimiter" funziona perfettamente.
Il punto e virgola nell'istruzione SQL produce "errore di carattere non valido", quindi è necessario rimuoverlo quando non è un delimitatore. (Sì, fa il suo lavoro in PL/SQL e SQL*Plus, proprio come una barra "/", altro :Quando è necessario utilizzare un punto e virgola rispetto a una barra in Oracle SQL? )
Soluzioni:
-
endDelimiter ="/"
<changeSet id="1" author="me"> <sql endDelimiter="/"> BEGIN aud.someProcedure('parameter'); END; / insert into test_table(_id, value) VALUES(1, 'test') </sql> </changeSet>
-
due sezioni
<changeSet id="1" author="me"> <sql endDelimiter="/"> BEGIN aud.someProcedure('parameter'); END; </sql> <sql> insert into test_table(_id, value) VALUES(1, 'test'); </sql> </changeSet>
-
o forse;)
<changeSet id="1" author="me"> <sql endDelimiter="#Gabor was here#"> BEGIN aud.someProcedure('parameter'); END; #Gabor was here# insert into test_table(_id, value) VALUES(1, 'test') </sql> </changeSet>