2017-12-03 58 views
1

如何創建沒有數據的表的克隆副本?因爲我只是想複製表格而不是數據的定義。在SQL Server中創建沒有數據的表的克隆副本

下面我試過,但它是將數據複製以及

Select * 
into Clone_Supplier 
from Supplier 
+0

我看到你已經接受了答案。你的問題沒有說清楚是否希望表的整個定義,包括約束(主鍵,默認值,外鍵,檢查,...),索引,觸發器在桌子上,依此類推。請注意,您所接受的答案不會產生任何的限制,不會有任何的指標,不會有任何適用於原始表的觸發器。 –

回答

0

複製從選定的表從選擇的表

Select Top 0 * into NewTable from OldTable 

複製一些列的所有列

Select Top 0 Col1,Col2 into NewTable from OldTable 

將所有(數據和結構)

Select * into NewTable from OldTable 
3

你可以添加WHERE 1=2只得到結構:

Select * 
into Clone_Supplier 
from Supplier 
where 1=2; 

這不會是雖然精確副本:

  • 無約束
  • 無索引
  • 沒有觸發
+1

非常感謝:) –

+0

我該如何複製索引和標識? –

+1

@SqlLearner你可以使用[生成SQL Server Management Studio中的腳本(https://stackoverflow.com/questions/9429902/generate-script-in-sql-server-management-studio),然後重命名錶和依賴新名稱。 – lad2025

0

你只需要添加一個假條件。所以它不會返回任何數據,您將創建沒有數據的表的克隆副本。您可以使用下面的查詢

Select * into Clone_Supplier from Supplier WHERE 1=2 
+1

感謝評論,但它已經回答了:) –

3

它是有用的表格,生成和新表

Select Top 0 * into tblNew from tblOld 
+1

喔這個人是非常有用的。謝謝 :) –

0

解決方案查詢:

SELECT TOP 0 * INTO newTable1 FROM oldTable1; 
相關問題