"endDelimiter:@" 在 db 中的用途是什么(在我的例子中是 liquibase)

What's the usage of "endDelimiter:@" in db (in my case liquibase)

我刚开始使用 liquibase,运行 进入其中一个更新日志的这一行:

--changeset NAME.SURNAME:1 endDelimiter:@ rollbackEndDelimiter:@

"endDelimiter:@". I think it replaces the default end-delimiter (character that defines end of line) which is ";"有什么用,为什么?

抱歉,如果我的问题格式不正确,这是我的第一个问题:)

如果变更集包含 SQL,则使用结束分隔符,例如创建一个存储过程(或函数),其中代码本身包含一个 ; 以分隔 inside 过程中的语句。

如果 Liquibase 使用 ; 拆分代码,则会将不完整的 DDL 语句发送到数据库。因此,您需要有一个不同的分隔符来标记例如结束。 CREATE PROCEDURE 语句。