2010-11-16 52 views
1

我有兩個字段(Utter和Misery)在表Massconfusion在數據庫A,我需要移動到兩個領域(也稱爲Utter和苦難)在一個表也稱爲Massconfusion數據庫B.有兩個鍵(主鍵和子鍵)保持這個數據與數據庫A和B中的其餘信息正確排序。
(基本上我們以某種方式丟失了兩個字段中的大部分信息,並試圖獲得它從我們的數據庫的舊副本和所有簡單的恢復方法都沒有奏效。)複製一個數據庫表中的選擇字段到另一個數據庫表

我是一個在sql腳本中的總新手。所以我懇求,幫助!提前致謝。

回答

0
UPDATE B.dbo.MassConfusion 
SET Utter = (SELECT Utter FROM A.dbo.MassConfusion WHERE A.PrimeKey = B.PrimeKey) 

UPDATE B.dbo.MassConfusion 
SET Misery= (SELECT Misery FROM A.dbo.MassConfusion WHERE A.PrimeKey = B.PrimeKey) 

你可能會更好插入到新表將取決於記錄的數量,以及如何搞砸了他們,雖然.... UPDATE可以根據你有多少個指標有慢,而且很貴,等

0

我並不清楚MassConfusion表的主鍵是什麼。第一個版本假定MassConfusion的主鍵只是Primary。如果主鍵實際上是PrimarySubKey的組合,則使用第二個版本。

版本1:主鍵由一列

/* Just to make it clear that this is run from Database B */ 
Use B 
go 

update MCB 
    set Utter = MCA.Utter, 
     Misery = MCA.Misery 
    from MassConfusion MCB 
     inner join A.dbo.MassConfusion MCA 
      on MCB.Primary = MCA.Primary 

2版的:主鍵是兩列

/* Just to make it clear that this is run from Database B */ 
Use B 
go 

update MCB 
    set Utter = MCA.Utter, 
     Misery = MCA.Misery 
    from MassConfusion MCB 
     inner join A.dbo.MassConfusion MCA 
      on MCB.Primary = MCA.Primary 
       and MCB.SubKey = MCA.SubKey 
+0

謝謝,解決的問題的複合材料。我很感激。 – Brett 2010-11-18 18:03:58

+0

@Brett:很高興幫助。您是否請點擊複選標記「接受」這個答案?謝謝。 – 2010-11-18 18:10:22

相關問題