Sqlserver用一個表的數據更新另一個表

在Sqlserver的維護更新操作中,有時候涉及到Update操作,其中有一種情況是根據特定的條件,以一個表中的數據更新另一個表的數據,此時涉及到兩個表之間的關係以及操作,此處介紹2種更新方法。
(1)方法一格式:

Update a set a.name=b.name1 FROM tableA a, tableB b where a.id=b.id"
在上述格式中,以tableB中的數據字段name1更新tableA中的數據字段name,更新條件是兩個表中對應行的id相等。

(2)with As更新語句

With tempTb AS
(
SELECT a.*,(Select Top 1 name1 FROM tableB b Where b.id=a.id) AS New_Name FROM tableA a
)
Update tempTb Set name=New_Name;
這種方法在更新語句執行前,可以選擇括號裏面的語句先查詢,通過查詢可預先知道影響的數據行數以及預設中更新後的結果。
with as用法不熟悉者慎用此更新方法。

備註:此原創文章最早發表於博主個人站,原文鏈接Sqlserver用一個表的數據更新另一個表_IT技術小趣屋,轉載請標明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章