在雪花中,如何从动态查询中删除单引号在这种情况下,反斜杠用处不大

问题描述

在雪花中,如何从动态查询删除单引号?我在存储过程的异常处理catch块中动态生成一条update语句。我将错误消息分配给update语句中的列之一。由于错误消息包含单引号,因此查询生成不正确。

由于错误消息是动态的,我们不能使用反斜杠来转义特殊字符。

查询看起来像这样。

Update ABCD set error_message = 'string 'In progress' is too long and would be truncated';

上述消息“正在进行的字符串太长,将被截断”正在动态生成,因此我无法使用反斜杠来转义单引号。

解决方法

您可以将包含双引号的单引号替换为例如

Update ABCD set error_message = $$string 'In progress' is too long and would be truncated$$;