2016-08-30 48 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

我收到消息203,級別16,狀態2,行8 名稱 '選擇*轉換成Test_Trace FROM fn_trace_gettable(' 路徑,DEFAULT)」是不是有效的標識符。 – SNR

+0

@SNR對不起,我固定它,使用:'EXEC(@sql)' – Marusyk

+0

的及時答覆非常感謝。它幫助了我很多。 – SNR