真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SQL之mergeinto批量更新數(shù)據(jù)-創(chuàng)新互聯(lián)

  Merge關鍵字是一個神奇的DML關鍵字。它在SQL Server 2008被引入,它能將Insert,Update,Delete簡單的并為一句。MSDN對于Merge的解釋非常的短小精悍:”根據(jù)與源表聯(lián)接的結(jié)果,對目標表執(zhí)行插入、更新或刪除操作。例如,根據(jù)在另一個表中找到的差異在一個表中插入、更新或刪除行,可以對兩個表進行同步?!?通過這個描述,我們可以看出Merge是關于對于兩個表之間的數(shù)據(jù)進行操作的。

英山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

   可以想象出,需要使用Merge的場景比如:

  •    數(shù)據(jù)同步
  •    數(shù)據(jù)轉(zhuǎn)換
  •    基于源表對目標表做Insert,Update,Delete操作

使用Merge關鍵字的好處

   首先是更加短小精悍的語句,在SQL Server 2008之前沒有Merge的時代,基于源表對目標表進行操作需要分別寫好幾條Insert,Update,Delete。而使用Merge,僅僅需要使用一條語句就好。下面我們來看一個例子。

   首先建立源表和目標表,并插入相關的數(shù)據(jù),如圖1所示。

  

    圖1.創(chuàng)建測試表并插入測試數(shù)據(jù)

   下面我們來寫一個簡單的Merge語句,如圖2所示。

     

    圖2.一個簡單的Merge語句

    所造成的結(jié)果如圖3所示。

     

    圖3.Merge語句對于目標表的更新

    最終目標表的結(jié)果如圖4所示。

     

    圖4.最后目標表的結(jié)果

   Merge語句還有一個強大的功能是通過OUTPUT子句,可以將剛剛做過變動的數(shù)據(jù)進行輸出。我們在上面的Merge語句后加入OUTPUT子句,如圖5所示。

    

   圖5.Merge語句后加上OUTPUT子句

  此時Merge操作完成后,將所變動的語句進行輸出,如圖6所示。

   

  圖6.輸出Merge操作產(chǎn)生的數(shù)據(jù)變更

  當然了,上面的Merge關鍵字后面使用了多個WHEN…THEN語句,而這個語句是可選的.也可以僅僅新增或是僅僅刪除,如圖7所示。

   

   圖7.僅僅插入的Merge語句

  我們還可以使用TOP關鍵字限制目標表被操作的行,如圖8所示。在圖2的語句基礎上加上了TOP關鍵字,我們看到只有兩行被更新。

   

   圖8.使用TOP關鍵字的Merge語句

   但僅僅是MATCHED這種限制條件往往不能滿足實際需求,我們可以在圖7那個語句的基礎上加上AND附加上額外的限制條件,如圖9所示。

    

   圖9.加上了AND限制條件的Merge語句


文章標題:SQL之mergeinto批量更新數(shù)據(jù)-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://weahome.cn/article/dopioi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部