在代码中使用 & 符号的存储过程的 Sqitch 部署导致失败

Posted

技术标签:

【中文标题】在代码中使用 & 符号的存储过程的 Sqitch 部署导致失败【英文标题】:Sqitch deploy of stored procedure with ampersand in code causes failure 【发布时间】:2021-04-16 18:36:07 【问题描述】:

Sqitch 部署在用于雪花的存储过程脚本上失败,该脚本包含用于存储过程的 javascript 代码,该存储过程在 IF...THEN 条件块中具有双与号 (&&)。 Sqitch 认为它是一个变量,据我所知失败了。

请告知如何在 cmets 或存储过程的代码中处理 & 符号 (&) 以使 sqitch 忽略 &

【问题讨论】:

【参考方案1】:

来自雪花文档:

要使用 & 符号而不使用替换,请使用第二个 & 符号转义 & 符号:&&variable

https://docs.snowflake.com/en/user-guide/snowsql-use.html

AFAIK,sqitch 不支持变量,除了数据库原生变量:

https://groups.google.com/g/sqitch-users/c/zYuEYT44OgM/m/WglAw5eDCAAJ

【讨论】:

以上是关于在代码中使用 & 符号的存储过程的 Sqitch 部署导致失败的主要内容,如果未能解决你的问题,请参考以下文章

存储过程未出现在 EF 代码中

SQI学习---数据库的增删改查等

C语言&*符号使用及大端法小端法测试

当我尝试在存储过程中声明目录时,我得到“PLS-00103:遇到符号“CREATE”...”

C++中的const

AV1 比特流&解码过程规范-符号和缩略语