stored-procedures - 在雪花中,如何从动态查询中删除单引号。在这种情况下,反斜杠没有多大用处
问题描述
在雪花中,如何从动态查询中删除单引号?我在存储过程的异常处理捕获块中动态生成更新语句。我将错误消息分配给更新语句中的列之一。由于错误消息包含单引号,因此未正确生成查询。
我们不能使用反斜杠来转义特殊字符,因为错误消息是动态的。
查询看起来像这样。
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$$;
推荐阅读
- r - 使用地址获取R中的纬度和经度
- javascript - 编程新手,不理解错误 Uncaught TypeError: document.getElementById(...) is null
- azure-sql-database - 尝试使用 Update-Database -Migration 命令迁移到 Azure SQL 数据库时,Azure keyVaultEndpoint 返回 null
- dataframe - 导出为 xlsx 时正确格式化数据
- java - Java - 使用 Runtime.getRuntime() 执行命令
- java - 重载问题:无法解析方法
- flask-wtforms - WTForm 创建新条目
- flutter - Flutter 2:webview_flutter & model_viewer
- ruby-on-rails - Ruby where 重构
- python - Marshmallow 在反序列化时创建重复的 Python 自定义对象