2010-08-26 129 views

回答

0

沒有,真的沒有,你要劇本出來,然後更改名稱

你可以做到這一點

select * into NewTable 
FROM OldTable 
WHERE 1 =2 --if you only want the table without data 

,但它不會複製任何限制

+0

所以我們不能沒有事先創建新的表定義? – selvaraj 2010-08-26 12:11:07

+0

這將創建表定義,但它不會有任何的約束,鍵等等 – SQLMenace 2010-08-26 12:14:22

1
  • 生成基於表的CREATE腳本
  • 修改腳本以創建不同的表名
  • 從源表
0

這不是最優雅的解決方案都選擇執行插入,但你可以使用一個工具,如微軟的免費Database Publishing Wizard
它創建了包含數據幷包含索引和內容的表定義的SQL腳本。但你將不得不手動改變腳本來改變表名...

0

另一種可能性:
我剛在SO上發現了this old answer。 此腳本是一個示例,用於腳本所有表的約束,但您可以輕鬆更改它以僅選擇「您的」表的約束條件。

所以,你可以做到以下幾點:

  1. (從OldTable選擇*到newtable中)創建新表與所述像SQLMenace數據
  2. 通過改變這個SQL腳本
  3. 添加約束,索引和東西