使用 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="" 应该可以解决它。