update set from 【連接查詢更新】


1. 首先把這種“ update...set...from...join... where...”查詢起個名字叫: 【連接查詢更新】。

2. 有兩種寫法:

    一種是(好理解的方式),更新查詢表中的數據,即更新時取查詢表的別名。舉例如下:

BEGIN TRAN


UPDATE a SET a.PlayerName = a.PlayerName + b.GuestName
FROM dbo.T_Order a INNER JOIN dbo.T_OrderDetail b ON a.OrderNo = b.OrderNo
WHERE a.OrderNo = '16062902957'

GO

--ROLLBACK TRAN
COMMIT TRAN

 第二種寫法跟第一種類似,但更接近與傳統的更新語句寫法。 舉例如下:

BEGIN TRAN

UPDATE T_Order SET PlayerName = o.PlayerName + od.GuestName
FROM T_Order o INNER JOIN dbo.T_OrderDetail od ON o.OrderNO = od.OrderNo
WHERE o.OrderNo = '16062902957'

--ROLLBACK TRAN
COMMIT TRAN

3. 說明:上面兩種寫法中紅色字體的表必須是有關聯的【系統默認是關聯的】。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM