gun*_*erz 1 t-sql sql-server-2008
我想将参数传递给包含动态SQL的存储过程.
例如,
DECLARE @sql NVARCHAR(1000)
SET @sql =
'select '+ @columnnames + ' from tablename'
EXECUTE(@sql)
但@columnnames是一个在运行时创建的字符串,通过连接2个字符串,
如@columnnames = a +''+ b
然而,这似乎不起作用.我想我需要逃避单引号.我试过传递
一个+ \'\'+ b,但这也不起作用.
有什么建议?
declare @columnnames nvarchar(1000)
set @columnnames = 'a' + ' + '' '' + ' + 'b'
Run Code Online (Sandbox Code Playgroud)
产生
select a + ' ' + b from tablename
Run Code Online (Sandbox Code Playgroud)
在结果varchar中需要撇号时使用撇号两次.
| 归档时间: |
|
| 查看次数: |
3812 次 |
| 最近记录: |