mysql - MS SQL从表中读取带撇号的值并将其保存在另一个表中

标签 mysql sql sql-server

我正在从带有撇号的表中读取一个值,我用它创建了一个动态查询,然后运行一个 sp 将其保存在另一个表中,该表在没有撇号的情况下工作正常,但当它包含撇号时会抛出错误。

从 Mytable 中选择 @arguments = 参数

例如 设置@sql = 'exec nameOfSP' + @arguments

@arguments 值来自数据库

@argument 示例值“612f0”,“这是第二个字符串示例”

是的,我知道并同意这是非常糟糕的代码味道,因此问题不在于设计(不幸的是无法更改),而在于当前场景中的最佳解决方案。

我正在寻找可能的编码解决方案吗?

最佳答案

如果您的论点中可能出现引用,请执行以下操作:

set @sql = 'exec nameOfSP ' + REPLACE(@arguments, '''', '''''');

关于mysql - MS SQL从表中读取带撇号的值并将其保存在另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31125079/

相关文章:

java - 为什么我收到 java.sql.SQLException : ORA-01002: fetch out of sequence exception

c# - 如何在 SQL Server 或 Linq 中获取列表生日?

c# - 未能创建 SqlDataSourceEnumerator

sql-server - 如何创建一个永远无法更新的列?

php - PHP 中的准备选择应该如何?

sql:像任何vs像所有

php - 对新项目和编辑项目使用 REPLACE INTO?

sql - 创建触发器以将列值插入到同一表的其他列 SQL Server 2005

php - PHP 的语言本地化

ios - 如何通过 iOS 设备向本地主机发出请求(使用 Xcode)?