SQL插入带括号的问题

时间:2014-10-15 03:26:12

标签: sql tsql

我正在尝试在varchar

中插入以下字符串
'EXEC tasks.dbo.sp_run_job '(New) Cube Process FirstLast Dimensions New', @TaskID, @LoadID'

现在插入括号是问题 - 有没有办法做到这一点?

这是我尝试执行的完整更新脚本:

begin tran
   update tasks..tasks 
   set Task_SQL = 'EXEC tasks.dbo.sp_run_job '(New) Cube Process FirstLast Dimensions New',@TaskID,@LoadID' 
   where TaskID in (621) 

2 个答案:

答案 0 :(得分:2)

如果在编码中,则使用参数绑定。或者使用两个单引号。喜欢 ' EXEC tasks.dbo.sp_run_job'(新)多维数据集处理FirstLast维度新'',@ TaskID,@ LoadID'

答案 1 :(得分:2)

问题不在于括号:问题是括号前面的单引号。这样做是为了自我逃避这些引用:

begin tran
update tasks..tasks set Task_SQL = 'EXEC tasks.dbo.sp_run_job ''(New) Cube Process FirstLast Dimensions New'',@TaskID,@LoadID' where TaskID in (621) 

请注意,我在括号旁边的开头报价和逗号附近的结束报价中都进行了转义。 Sql Server会将两个相邻的引号视为字符串中的一个单引号。