2016-08-30 18 views
-1

ストアテーブル名とトレースパスである物理テーブルからトレースをロードしようとしています。このクエリを動的SQLとして作成する方法

私はNewTableNameTracepathを変数から取ることにしたいと思います。

マイ入力:

select * into NewTableName 
FROM fn_trace_gettable('Tracepath\tracename.trc' ,DEFAULT) 

出力:必要なダイナミックSQL。

答えて

1

これはどういう意味ですか?

DECLARE @TableName NVARCHAR(MAX) = 'NewTableName'; 
DECLARE @Tracepath NVARCHAR(MAX) = 'Tracepath\tracename.trc'; 

DECLARE @sql NVARCHAR(MAX) 
SET @sql = 'select * into ' + @TableName + ' 
FROM fn_trace_gettable(''' + @Tracepath + ''' ,DEFAULT)'; 

EXEC (@sql) 
+0

私は「 '(パス、DEFAULT)fn_trace_gettable FROM Test_Trace に選択*' メッセージ203、レベル16、状態2、行8 に名前を受け付けております有効な識別子ではありません。 – SNR

+0

@SNR申し訳ありません、私はそれを修正しました: 'EXEC(@ sql)' – Marusyk

+0

あなたの迅速な対応に多くの感謝。それは私の多くを助けた。 – SNR

関連する問題