1. 程式人生 > >【轉載】SQL語句用一個表的數據更新另一個表

【轉載】SQL語句用一個表的數據更新另一個表

upd 擴展 serve new 定義函數 strong 特定 自定義函數 哪些

在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技術小趣屋。原文鏈接:查看原文。

【轉載】SQL語句用一個表的數據更新另一個表