Der "endDelimiter" funktioniert einwandfrei.
Das Semikolon in der SQL-Anweisung erzeugt einen "Fehler durch ungültige Zeichen", also müssen Sie es entfernen, wenn es kein Trennzeichen ist. (Ja, es funktioniert in PL/SQL und SQL*Plus, genau wie ein Schrägstrich "/", mehr :Wann muss ich in Oracle SQL ein Semikolon oder einen Schrägstrich verwenden? )
Lösungen:
-
endDelimiter ="/"
<changeSet id="1" author="me"> <sql endDelimiter="/"> BEGIN aud.someProcedure('parameter'); END; / insert into test_table(_id, value) VALUES(1, 'test') </sql> </changeSet>
-
zwei Abschnitte
<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>
-
oder vielleicht;)
<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>