在一行 SQL 语句中使用 endDelimiter

问题描述 投票:0回答:1

我正在尝试使以下代码在我的部署中工作:

--liquibase formatted sql
--changeset test:1 endDelimiter:/

CREATE OR REPLACE PUBLIC SYNONYM XXXX FOR XXX;
/
GRANT EXECUTE ON XXXX TO XXXX;
/
--rollback not required; 

上面的代码片段会导致 ORA-00933 错误(SQL 未正确结束)。

部署工具需要将过程、函数和触发器中的代码与授权、创建、替换等代码放在单独的 .sql 文件中。

我的目标是标准化所有文件的分隔符“/”的使用。

有没有办法实现将

endDelimiter:/
与分号一起使用,还是将 endDelimiter 与那些存储了过程、函数等逻辑的代码片段一起使用会更好?

谢谢

sql oracle-database automation liquibase
1个回答
0
投票

有没有办法实现使用

endDelimiter:/
和分号

不,请使用

/
;
。请勿同时使用。

您的代码应该是:

CREATE OR REPLACE PUBLIC SYNONYM XXXX FOR XXX
/
GRANT EXECUTE ON XXXX TO XXXX
/
© www.soinside.com 2019 - 2024. All rights reserved.