使用 Liquibase 创建雪花存储过程
Using Liquibase to create snowflake storedprocedure
我正在尝试使用 liquibase 创建存储过程,但在执行 liquibase 更新时失败并出现以下错误:
在 11:37:58 启动 Liquibase(版本 4.4.0 #11 构建于 2021-06-09 16:36+0000)
Liquibase 版本:4.4.0
位置 5 处的语法错误行 5 意外“$”。 [失败 SQL: (1003) 创建或替换过程 SP_TEST_AZURE()
returns 字符串
语言 javascript
作为
$$
变量 sql_cmd
是否缺少配置?
错误消息表明 Liquidbase 在 $$
方面存在问题。我怀疑:
The endDelimiter SQL attribute
Use endDelimiter in SQL for PROCEDURE and FUNCTION
An endDelimiter may be used when the changeset contains SQL to create a stored procedure or function that contains the default ';' end delimiter. To avoid incomplete statements being sent to the database, the changeset must be marked to have a different endDelimiter.
The endDelimiter must be specified for some dbms systems to run multiple statements.
将它设置为空字符串:endDelimiter=""
应该可以解决它。
我正在尝试使用 liquibase 创建存储过程,但在执行 liquibase 更新时失败并出现以下错误:
在 11:37:58 启动 Liquibase(版本 4.4.0 #11 构建于 2021-06-09 16:36+0000) Liquibase 版本:4.4.0 位置 5 处的语法错误行 5 意外“$”。 [失败 SQL: (1003) 创建或替换过程 SP_TEST_AZURE() returns 字符串 语言 javascript 作为 $$ 变量 sql_cmd
是否缺少配置?
错误消息表明 Liquidbase 在 $$
方面存在问题。我怀疑:
The endDelimiter SQL attribute
Use endDelimiter in SQL for PROCEDURE and FUNCTION
An endDelimiter may be used when the changeset contains SQL to create a stored procedure or function that contains the default ';' end delimiter. To avoid incomplete statements being sent to the database, the changeset must be marked to have a different endDelimiter.
The endDelimiter must be specified for some dbms systems to run multiple statements.
将它设置为空字符串:endDelimiter=""
应该可以解决它。