【发布时间】:2019-03-15 18:34:33
【问题描述】:
我想用liquibase写下面的sql代码
设置@value1 = "string1"; 设置@value2 = "string2";
更新用户设置类别 = REPLACE(category, @value1, @value2);
如何在 liquibase 中写成 xml 或 sql 文件?
【问题讨论】:
我想用liquibase写下面的sql代码
设置@value1 = "string1"; 设置@value2 = "string2";
更新用户设置类别 = REPLACE(category, @value1, @value2);
如何在 liquibase 中写成 xml 或 sql 文件?
【问题讨论】:
如果你想在变更集的“sql”标签中声明和设置变量,你只需要删除“;”。
默认情况下,liquibase 使用“;”执行,并且变量在执行范围内。 所以虽然这不起作用:
DECLARE @value1 varchar(10);
SET @value1 = "string1";
这将起作用:
DECLARE @value1 varchar(10)
SET @value1 = "string1"
我省略了最后一个“;”在初始化时,我假设您想对变量做一些事情
【讨论】:
@value 语法是 MySQL SQL 编辑器工具的一部分,数据库本身并不真正理解,因此 liquibase 无法利用它们。
Liquibase 使用 ${value} 语法支持与 changelog paramaters 类似的功能
【讨论】:
SET @..,它在下面使用 JDBC。