2012-11-28 14 views
1

我有創建的臨時表:打開SQL Server表變量轉化爲現實表

DECLARE @tbl_fk_errors TABLE (
    id int Primary Key IDENTITY(1,1) 
    , tbl_id int 
    , tbl_name nvarchar(128) 
    , tbl_record_id int 
    , tbl_field nvarchar(20) 
    , tbl_field_value nvarchar(20) 
    , jnktn_field_value nvarchar(20) 
    , jnktn_field nvarchar(20) 
    , jnktn_tblname nvarchar(128) 

該表將在我的腳本來填補。現在我想將該表格輸出到一個文件中,並找到xp_cmdshell這可以做到這一點。但是,該存儲過程無法接受我的表var,因爲它打開了一個到數據庫的新連接(因爲「bcp」)。

我需要暫時將該表保存到我的數據庫(然後放下它,但那沒什麼大不了的)。

如何快速保存表格中存儲的表格作爲真正的表格在我的數據庫中?

+1

如果你要去那條路......爲什麼不創建表,插入數據,輸出到文件中,然後放下表...並且完全忘記臨時表? – MikeSmithDev

回答

2
select * 
into table --destination 
from @table --source 

作爲獎勵,包裝一個交易這個問題,才能確保你不會留下一個「懸」表中的錯誤的情況下。 DDL在SQL Server中是事務性的。在回滾時,該表將被刪除。

+0

我必須先創建「表格」嗎? – wullxz

+0

不,這是按原樣工作的。 – usr

+0

感謝您的快速回答。我會在10分鐘內接受你的答案;) – wullxz