2016-11-10 119 views
1

我在SQL Server中運行下面的動態查詢,使用鏈接服務器連接到OLAP服務器,從而返回表作爲結果。從動態查詢表輸出中將數據插入到臨時表中

SET @nSQL = EXECUTE ('SELECT non empty { 
[Coded Season].[Coded Season].[Coded Season] * 
[Season].[Season].[Season] * 
[Product].[Subclass].[Subclass] * 
[Product].[Subclass Id].[Subclass Id] 
} ON ROWS,{ 
[Measures].[Pl No of Range Opts] 
} ON COLUMNS 
FROM RP_C0') AT AS_T_RP_5900_Admin 

我執行它在SQL Server這樣的:

exec sp_executesql @nSQL; 

它返回值的表。現在我想將數據插入臨時表中。我已經嘗試了下面的代碼,但它不起作用。

INSERT INTO ##Subclass_Season_AS 
exec sp_executesql @nSQL; 

也試過,

set @strNewQuery ='SELECT '[email protected]+' INTO ##temptablename ' 
exec @strNewQuery 

能否請您在這方面的幫助?謝謝!

+2

你得到的錯誤是什麼?你可以顯示「## Subclass_Season_AS」表定義嗎? – gotqn

+0

嗨,這是表defintion.CREATE TABLE ## Subclass_Season_AS \t([編碼季] VARCHAR(10), \t [子類ID] VARCHAR(40), \t [季] VARCHAR(40), \t [範圍選擇範圍] INT)。錯誤的語法是我得到的錯誤。 – Emraan

+0

改爲使用'AT AS_T_RP_5900_Admin'可以在每個表名前面添加鏈接的服務器名稱? – gotqn

回答

0

您可能想要嘗試將INTO語句放入動態查詢中。

SET @nSQL = EXECUTE ('SELECT non empty { 
[Coded Season].[Coded Season].[Coded Season] * 
[Season].[Season].[Season] * 
[Product].[Subclass].[Subclass] * 
[Product].[Subclass Id].[Subclass Id] 
} ON ROWS,{ 
[Measures].[Pl No of Range Opts] 
} ON COLUMNS 
INTO ##temptablename 
FROM RP_C0') AT AS_T_RP_5900_Admin 
相關問題