1

動的SQLを含むストアドプロシージャにパラメータを渡したい。

例えば、

DECLARE @sql NVARCHAR(1000)
SET @sql = 'select '+ @columnnames + ' from tablename'
EXECUTE(@sql)


ただし、@ columnnamesは、 @ columnnames = a +'' + bのように2つの文字列を連結することにより、実行時に作成される文字列です。

ただし、これは機能していないようです。一重引用符をエスケープする必要があると思います。a + \'\' + bを渡そうとし
ましたが、それも機能しません。

助言がありますか?

4

2 に答える 2

6
declare @columnnames nvarchar(1000)
set @columnnames = 'a' + ' + '' '' + ' + 'b'

生産する

select a + ' ' + b from tablename

結果の varchar にアポストロフィが必要な場合は、アポストロフィを 2 回使用します。

于 2012-06-11T08:21:12.917 に答える
0

コンマが抜けてる…

set @columnnames = a + ',' + b
于 2012-06-11T08:07:38.930 に答える