UPDATE SET FROM WHERE 續


UPDATE  B
SET B.InDate=a.InDate,B.EditDate=A.EditDate,B.OperateDate=A.OperateDate
FROM (SELECT T.InDate,T.EditDate,T.OperateDate,T.SONumber FROM SOTracking AS T WITH(NOLOCK)
WHERE T.operation=130 and T.SONumber in(111,222,333)) AS A
   INNER JOIN SOTracking AS B  ON B.SONumber=a.SONumber
WHERE Operation=60


-------------------------------------------------------------------------------------------


;with so_date as
(
SELECT InDate,EditDate,OperateDate,SONumber FROM SOTracking WITH(NOLOCK)
WHERE operation=130 and SONumber in(111,222,333)
)

UPDATE A
SET A.InDate=t.InDate,A.EditDate=t.EditDate,A.OperateDate=t.OperateDate
FROM so_date AS T INNER JOIN SOTracking as A ON A.SONumber=t.SONumber
WHERE A.Operation=60

需要注意的是:FROM需要把更新的表和關聯的表都寫在這里。其實主要就是UPDATE FROM 的用法

       比較喜歡自己寫的第二個方法,看着清晰,還是自己想出來的。嘻嘻~~~~~~~終於知道WITH雜用了。


免責聲明!

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



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