1. EXECUTE ステートメントで文字列を実行する方法
DECLARE
@SQLString NVARCHAR(MAX)
, @IDList nvarchar(MAX)
SET @IDList = ‘1,2,3’
SET @SQLString = N’SELECT a1 ‘
+ ‘FROM Table1 ‘
+ ‘WHERE ID IN ‘
+ ‘(‘ + @IDList + ‘) ‘
Exec (@SQLString)
2. sp_executesql を使用する方法
DECLARE
@SQLString nvarchar(MAX) –SQL文字列
, @ParaString nvarchar(MAX) –パラメーター定義文字列
, @a1 int –出力パラメーター
, @ID int
SET @SQLString =
N’SELECT @OutValue = a1
FROM Table1
WHERE ID = @ID1′
SET @ParaString =
N’@ID1 int
, @OutValue int OUTPUT’
SET @ID = 1
EXECUTE sp_executesql @SQLString, @ParaString
, @ID1 = @ID
, @OutValue = @a1 OUTPUT
SELECT @a1
参考:
sp_executesql の使用 (MSDN)

