"EndDelimiter" hoạt động hoàn hảo.
Dấu chấm phẩy trong câu lệnh SQL tạo ra "lỗi ký tự không hợp lệ", vì vậy bạn phải xóa nó khi nó không phải là dấu phân cách. (Có, nó hoạt động trong PL / SQL và SQL * Plus, giống như dấu gạch chéo "/", hơn thế nữa : Khi nào tôi cần sử dụng dấu chấm phẩy và dấu gạch chéo trong Oracle SQL? )
Giải pháp:
-
endDelimiter ="/"
<changeSet id="1" author="me"> <sql endDelimiter="/"> BEGIN aud.someProcedure('parameter'); END; / insert into test_table(_id, value) VALUES(1, 'test') </sql> </changeSet>
-
hai phần
<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>
-
hoặc có thể;)
<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>