有沒有一種快速簡便的方法來複制SQL-Server中的表?我只想從表A創建一個臨時表,因爲我需要刷新表B(這會干擾外鍵)。SQL-Server中的重複表定義(列)
我知道這不是一個荒謬的任務手動,但它似乎應該有一個很好的方式來做到這一點。
編輯:澄清,我想複製表定義,而不是實際的數據。
有沒有一種快速簡便的方法來複制SQL-Server中的表?我只想從表A創建一個臨時表,因爲我需要刷新表B(這會干擾外鍵)。SQL-Server中的重複表定義(列)
我知道這不是一個荒謬的任務手動,但它似乎應該有一個很好的方式來做到這一點。
編輯:澄清,我想複製表定義,而不是實際的數據。
豈不是一個更好的辦法,只是暫時禁用約束,而你正在做你刷新
ALTER TABLE X NOCHECK CONSTRAINT ALL
-- Refresh SQL
ALTER TABLE X CHECK CONSTRAINT ALL
INSERT INTO TableB
(SELECT * FROM TableA)
這將複製數據到現有的表B來自TableA。 OP正在尋找的是複製表格的* definition *。 – 2011-03-16 17:36:54
看一看SELECT INTO:
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
W3Schools的:http://www.w3schools.com/sql/sql_select_into.asp
MSDN:http://msdn.microsoft.com/en-us/library/aa213050%28v=sql.80%29.aspx
SELECT INTO可用於將數據從多個表或視圖組合成一個表。它也可以用來創建一個包含從鏈接服務器中選擇的數據的新表。
SELECT *成copyTable從sourceTable會
我想到了這個簡單的問題,但是讓我有點緊張,以至於實際上混淆了真實數據庫的定義,實際上,如果您只是禁用約束,那就相當不錯。我沒有意識到這一點。 – jtpereyda 2011-03-16 16:40:09
就我個人而言,我覺得這種方法最不麻煩。 – 2011-03-16 16:42:14
這實際上是對我的情況最好的。這很簡單,也感覺更安全,因爲我實際上並沒有移動任何數據或刪除/截斷任何東西。 – jtpereyda 2011-03-16 16:58:34