O "endDelimiter" funciona perfeitamente.
O ponto e vírgula na instrução SQL produz "erro de caractere inválido", então você deve removê-lo quando não for um delimitador. (Sim, ele funciona em PL/SQL e SQL*Plus, assim como uma barra "/", mais :Quando preciso usar um ponto e vírgula em vez de uma barra no Oracle SQL? )
Soluções:
-
endDelimiter ="/"
<changeSet id="1" author="me"> <sql endDelimiter="/"> BEGIN aud.someProcedure('parameter'); END; / insert into test_table(_id, value) VALUES(1, 'test') </sql> </changeSet>
-
duas seções
<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>
-
ou talvez;)
<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>