El "endDelimiter" funciona perfectamente.
El punto y coma en la instrucción SQL produce un "error de carácter no válido", por lo que debe eliminarlo cuando no es un delimitador. (Sí, funciona en PL/SQL y SQL*Plus, al igual que una barra inclinada "/", más :¿Cuándo necesito usar un punto y coma en lugar de una barra inclinada en Oracle SQL? )
Soluciones:
-
endDelimiter ="/"
<changeSet id="1" author="me"> <sql endDelimiter="/"> BEGIN aud.someProcedure('parameter'); END; / insert into test_table(_id, value) VALUES(1, 'test') </sql> </changeSet>
-
dos secciones
<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 tal vez;)
<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>