2014-02-09 67 views
-1

我想更新兩個表記錄。如何編寫查詢以更新兩個或多個表記錄

UPDATE Users as TBL1, UserEmailAddresses as TBL2 SET TBL1.GivenName=ABC, 
    TBL1.Surname =Elatrache, TBL1.Gender= M, TBL1.BirthDate = 1948-04-06, TBL2.Address 
    = [email protected], WHERE Uers.ExternalId=2022880-01 AND Users.UserOID=User 
    EmailAddresses.UserOID 
+0

這顯然不是真正的代碼首先。其次,只需使用兩個更新語句。你正在浪費精力創造一個問題,所以你可以找到解決方案。這假定MSSQL;如果使用MySQL,實際上可以做到這一點。 –

+0

我無法執行此查詢。我想更新這兩個表,我正在使用SQL Server 2008 – user2272260

回答

0

我同意@david,你需要使用兩個更新語句並將它們包裝在一個事務中。

BEGIN TRANSACTION 

UPDATE Users SET 
    GivenName='ABC', 
    Surname ='Elatrache', 
    Gender= 'M', 
    BirthDate = '1948-04-06' 
WHERE ExternalId=2022880-01 
    AND UserOID = 'User' 

UPDATE UserEmailAddresses SET Address = '[email protected]' 
    WHERE <something depending on your relationships between users and useremail addresses> 

COMMIT TRANSACTION 
相關問題