如何在liquibase中声明变量和mysql更新

Ach*_*ius 3 sql liquibase maven

我想在liquibase中编写以下sql代码

设置@value1 = "string1"; 设置@value2 = "string2";

更新用户设置类别 = REPLACE(category, @value1, @value2);

如何在 xml 或 sql 文件中的 liquibase 中编写它?

Aar*_*ron 5

如果您想在变更集的“sql”标签中声明和设置变量,您只需删除“;”。

默认情况下,liquibase 使用“;” 执行,并且变量在执行范围内。所以虽然这行不通:

DECLARE @value1 varchar(10);
SET @value1 = "string1";
Run Code Online (Sandbox Code Playgroud)

这将起作用:

DECLARE @value1 varchar(10)
SET @value1 = "string1"
Run Code Online (Sandbox Code Playgroud)

我省略了最后一个“;” 在初始化时,我假设您想对变量做一些事情


Nat*_*and 3

@value 语法是 MySQL SQL 编辑器工具的一部分,实际上数据库本身并不理解,因此 liquibase 无法利用它们。

Liquibase 确实支持使用语法 ${value}的更改日志参数的类似功能