国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點晴永久免費OA]SQL Server Merge語句

freeflydom
2023年7月15日 10:22 本文熱度 1492

SQL Server MERGE語句簡介

假設有兩個表名為:source表和target表,并且需要根據(jù)source表中匹配的值更新target表。 有三種情況:

  • source表有一些target表中不存在的行。在這種情況下,需要將source表中的行插入到target表中。

  • target表有一些source表中不存在的行。 在這種情況下,需要從target表中刪除行。

  • source表的某些行具有與target表中的行相同的鍵。 但是,這些行在非鍵列中具有不同的值。 在這種情況下,需要使用來自source表的值更新target表中的行。

下圖說明了source表和target表以及相應的操作:插入,更新和刪除:


如果單獨使用insertupdatedelete語句,則必須構造三個單獨的語句,以使用source表中的匹配行將數(shù)據(jù)更新到target表。

但是,SQL Server提供MERGE語句以用于同時執(zhí)行三個操作。 以下是MERGE語句的語法:

MERGE target_table USING source_table

ON merge_condition

WHEN MATCHED

    THEN update_statement

WHEN NOT MATCHED

    THEN insert_statement

WHEN NOT MATCHED BY SOURCE

    THEN delete;

首先,在MERGE子句中指定source_table表和target_table表。

其次,merge_condition確定source_table表中的行如何與target_table表中的行匹配。 它類似于join子句中的join條件。 通常,使用主鍵或唯一鍵的鍵列進行匹配。

第三,merge_condition有三種狀態(tài):MATCHEDNOT MATCHEDNOT MATCHED BY SOURCE

  • MATCHED:這些是與合并條件匹配的行。 在圖中,它們顯示為藍色。 對于匹配的行,需要使用source_table表中的值更新target_table表中的行列。

  • NOT MATCHED:這些是source_table表中的行,target_table表中沒有任何匹配的行。 在圖中,它們顯示為橙色。 在這種情況下,需要將source_table表中的行添加到target_table表。 請注意,NOT MATCHED BY TARGET也稱為目標不匹配。

  • NO MATCHED BY SOURCE:這些是target_table表中與source_table表中的任何行都不匹配的行。 它們在圖中顯示為綠色。 如果要將target_table表與source_table表中的數(shù)據(jù)同步,則需要使用此匹配條件從target_table表中刪除行。

SQL Server MERGE語句示例

假設有兩個表:sales.categorysales.category_staging,它們按產(chǎn)品類別存儲銷售額。參考以下創(chuàng)建語句:

create TABLE sales.category (

    category_id INT PRIMARY KEY,

    category_name VARCHAR(255) NOT NULL,

    amount DECIMAL(10 , 2 )

);


insert INTO sales.category(category_id, category_name, amount)

VALUES(1,'Children Bicycles',15000),

    (2,'Comfort Bicycles',25000),

    (3,'Cruisers Bicycles',13000),

    (4,'Cyclocross Bicycles',10000);



create TABLE sales.category_staging (

    category_id INT PRIMARY KEY,

    category_name VARCHAR(255) NOT NULL,

    amount DECIMAL(10 , 2 )

);



insert INTO sales.category_staging(category_id, category_name, amount)

VALUES(1,'Children Bicycles',15000),

    (3,'Cruisers Bicycles',13000),

    (4,'Cyclocross Bicycles',20000),

    (5,'Electric Bikes',10000),

    (6,'Mountain Bikes',10000);

要使用sales.category_staging(源表)中的值將數(shù)據(jù)更新到sales.category(目標表),請使用以下MERGE語句:

MERGE sales.category t 

    USING sales.category_staging s

ON (s.category_id = t.category_id)

WHEN MATCHED

    THEN update SET 

        t.category_name = s.category_name,

        t.amount = s.amount

WHEN NOT MATCHED BY TARGET 

    THEN insert (category_id, category_name, amount)

         VALUES (s.category_id, s.category_name, s.amount)

WHEN NOT MATCHED BY SOURCE 

    THEN delete;

執(zhí)行過程如下圖所示 


在此示例中,使用兩個表中category_id列中的值作為合并條件。

  • 首先,sales.category_staging表中id值為1,3,4的行與目標表中的行匹配,因此,MERGE語句更新sales.category表中類別名稱和amount列中的值。

  • 其次,sales.category_staging表中id值為56的行在sales.category表中不存在,因此MERGE語句將這些行插入到目標表中。

  • 第三,sales.sales_staging表中不存在sales.category表中具有id值為2的行,因此,MERGE語句將刪除此行。

在合并的結果中,sales.category表中的數(shù)據(jù)與sales.category_staging表中的數(shù)據(jù)完全同步。





該文章在 2023/7/15 10:22:51 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 成人免费一区二区三区视频 | 人妻夜夜爽天天爽无码中出 | 午夜爱爱免费视频体验区 | 美女大战精子推荐美女肛门电视播放免费图片介绍优质 | 99久久亚洲综合精品成人网 | 人妻丰满av无码中文字幕 | 69久久无码一区人妻A片 | 亚州免费一级毛片 | 亚洲精品日产精品乱码不卡 | 亚洲av综合一区二区在线观看 | 精品国产久久久久久 | 亚洲日韩欧美视频一区 | 凶猛办公室三部曲之美女求生记 | 成人免费毛片内射美女APP | 亚洲av无码一区二区二三区 | 国产大片在线播放 | 国产91熟女高潮一区二区 | 日韩好片一区二区在线看 | 在线欧美一区 | 国产午夜情品乱玛一区二区三区永久老师你懂得电影天天 | 亚洲国产精品无码中文在线 | 国产乱码人妻一区二区三区 | 日夜啪啪一区二区三区 | www视频无码综合gay青青河边 | 在线视频欧美日韩不卡一区 | 国产亚洲精品字幕在线观看 | 国产欧美日本韩国高清视频一区二区三区免费在线 | 亚洲一本大道综合视频 | 亚洲AV片天堂波多野结衣 | 在线看片免费人成视频电影sm观看熟女女人影院视频少妇 | 出差我被公高潮A片1000部 | 一级欧美一级高清 | 免费无码又色又爽的视频软件 | 韩国三级在线高速影院 | 国语精品91自产拍在线观看二区 | 真实国产乱子伦精品一 | 亚洲h在线播放在线观看h | 人妻超级精品碰碰在线97视频 | 亚洲日韩精品一二三四五六七区 | 国产高清视频免费人人爱 | 国产又黄又刺激的A片 |