程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 簡介SQL Server中的Merge關鍵字

簡介SQL Server中的Merge關鍵字

編輯:關於SqlServer

簡介

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

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

數據同步

數據轉換

基於源表對目標表做Insert,Update,Delete操作

使用Merge關鍵字的好處

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

首先建立源表和目標表,並插入相關的數據,如圖1所示。

圖1.創建測試表並插入測試數據

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

圖2.一個簡單的Merge語句

所造成的結果如圖3所示。

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

最終目標表的結果如圖4所示。

圖4.最後目標表的結果

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved