我搞亂了數據。我一直被讚美的ID和值,直到我不記得原件是什麼。 (測試幾件事)。將數據從1個數據庫表複製到另一個的SQL代碼
我有一個表叫query_string_interpretation
和DB其一部分調用,test1_db
我有我已經恢復稱爲備份數據庫,test2_db
我如何從一個數據庫表恢復其內容另一個?
我搞亂了數據。我一直被讚美的ID和值,直到我不記得原件是什麼。 (測試幾件事)。將數據從1個數據庫表複製到另一個的SQL代碼
我有一個表叫query_string_interpretation
和DB其一部分調用,test1_db
我有我已經恢復稱爲備份數據庫,test2_db
我如何從一個數據庫表恢復其內容另一個?
首先,您需要確保源表中包含所有數據,或者將數據放在兩個表中 - source和目的地。在第一種情況下,你需要截斷目標表:
TRUNCATE TABLE test1_db..query_string_interpretation
其次,你需要確保你將插入正確的價值觀爲標識字段,如果這些字段存在。使用SET INDENITY_INSERT ON
聲明。 第三,你需要插入值:
insert into test1_db..query_string_interpretation
select * from test2_db..query_string_interpretation
而且不要忘了切換INDENITY_INSERT
爲OFF時,你在第二步中切換它打開。
你有最好的答案,並且你很有禮貌。謝謝! :) – 2012-03-26 13:17:29
@ SP-1986有哪些呢'和你polite'與SQL呢? – 2012-03-26 20:34:13
光顧回覆對新會員不友善或歡迎。爲了回答你的問題,沒有什麼 - 但我很友善。 – 2012-03-26 20:42:41
沒有關於您的更多信息...通常您可以使用INSERT INTO/SELECT FROM
在表格之間移動數據。
的語法大致是:
INSERT INTO
test1_db..query_string_interpretation (<your columns here>)
select <your columns here>
FROM test2_db..query_string_interpretation
我不需要截斷我的第一張表嗎? – 2012-03-26 13:00:09
我剛剛刪除了第一個表格內容,然後用* – 2012-03-26 13:04:27
運行它您的問題非常模糊,以至於很難知道您需要什麼。截短?也許;大概刪除。如果test2包含test1中的數據的確切副本,或者它們是同一臺服務器,或者它們是同一臺服務器,或者它們是同一臺服務器,或者它們是同一臺服務器,則不知道是否存在防止刪除的外鍵,表格結構如何任何東西。你的問題只是詢問如何將數據從test2寫回到test1。我假設你明白如何清理你的桌子。花更多的時間來寫你的問題,你會得到更準確的答案。 – EBarr 2012-03-26 13:04:45
您可以使用SQL嚮導來爲你做這個。在Management Studio中,右鍵單擊數據庫,選擇Tasks
然後Import Data...
或Export Data...
試試這個:
delete from test1_db..query_string_interpretation
insert into test1_db..query_string_interpretation
select * from test2_db..query_string_interpretation
如果你有一個標識字段,你可能不得不寫列的名稱(除身份一)。如果您需要保留ID,請查看SET IDENTITY_INSERT ON語句here
SET的indentity INSERT ON,也許? – 2012-03-26 13:16:59
我們在談論多少行?還有,哪個版本的SQL 2008?或2005年? – 2012-03-26 12:57:13
MSSQL 2008,786行 – 2012-03-26 12:57:54