An unexpected syntax result with updateSQL for dbms:oracle

with liquibase 4.21.1 and former i got an unexpected migrate.sql from updateSQL command

my changeset is like this…

--changeset pep:1 dbms:oracle context:"test" runOnChange:true failOnError:false  endDelimiter:/ 

CREATE OR REPLACE PROCEDURE myproc AS
BEGIN
	declare
	BEGIN
               select 'dosomething' from dual;
	END;
END;
/

--rollback empty

and I get a invalid END;\ for Oracle SQLDeveloper

-- Changeset db/model/pep.sql::1::pep
CREATE OR REPLACE PROCEDURE myproc AS
BEGIN
	declare
	BEGIN
               select 'dosomething' from dual;
	END;
END;/

Some idea about this?
Thanks in advance

Hi @jlpurcalla,

If I am reading correctly, the endDelimiter needs to be on a line by itself, i.e. the \ needs to be on the next line. Correct?

If you remove the endDelimiter:/ setting, does it work correctly? Or it may work better to change the setting to endDelimiter:\n/.

-PJ

Hi @PJatLiquibase and thanks for u asnwer!!

Using a endDelimiter:\n/ works fine for a updateSQL and for a simple update as well !!

Is a good solution even when a / is included inside text, i.e in a division .

Thanks!

1 Like