モルモルしている

最近はテスト業務ばっかりで書くことがない

EXECで実行したスクリプトの結果を変数に得たい

クエリ自体は動的に作成したいんで文字列として生成してEXECで実行したいんだけど、そのクエリの結果は変数に取得したいんです。
こういう場合、EXECではだめなのだそうです。

目的:
 テーブル名を動的に変えて値を取ってきたいです。
 指定されたテーブルのDATANAMEというカラムに「Result」と入ったレコードの「Value」というカラムの値がほしいです。

-- 取得した値を格納する変数
DECLARE @GetResult nvarchar(50) = ''
-- 言わずもがなテーブル名
DECLARE @TableName nvarchar(50) = 'SampleTable'
-- 抽出用クエリ
DECLARE @Query nvarchar(500) = 'SELECT @value = Value FROM ' + @TableName + 'WHERE DATANAME = ''Result'''
-- 引数のための変数
DECLARE @Param nvarchar(50) = '@value nvarchar(50) OUTPUT'

-- 実行
EXECUTE sp_executesql @Query, @Param, @value = @GetResult OUTPUT

-- 確認
SELECT @GetResult

こんな感じにすればEXECで実行しようとしてたクエリで取得する値が変数に入ります。

参考URL:
 http://www.ilovex.co.jp/blog/system/softwaredevelopment/transact-sqlsql.html