久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQLServer中merge函數如何使用

153次閱讀
沒有評論

共計 1732 個字符,預計需要花費 5 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

本篇文章給大家分享的是有關 SQLServer 中 merge 函數如何使用,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。

Merge 關鍵字是一個神奇的 DML 關鍵字。它在 SQL Server 2008 被引入,它能將 Insert,Update,Delete 簡單的并為一句。MSDN 對于 Merge 的解釋非常的短小精悍:”根據與源表聯接的結果,對目標表執行插入、更新或刪除操作。

MERGE 目標表

USING 源表

ON 匹配條件

WHEN MATCHED THEN

語句

WHEN NOT MATCHED THEN

語句;

其中最后語句分號不可以省略,且源表既可以是一個表也可以是一個子查詢語句

WHEN NOT MATCHED BY TARGET

表示目標表不匹配,BY TARGET 是默認的,所以上面我們直接使用 WHEN NOT MATCHED THEN

WHEN NOT MATCHED BY SOURCE

表示源表不匹配,即目標表中存在,源表中不存在的情況。

主要用法:

merge 無法多次更新同一行,也無法更新和刪除同一行

當源表和目標表不匹配時:若數據是源表有目標表沒有,則進行插入操作若數據是源表沒有而目標表有,則進行更新或者刪除數據操作當源表和目標表匹配時:進行更新操作或者刪除操作 when matched 這個子句可以有兩個,當有兩個時,第一個子句必須是 when matched and condition 且兩個 matched 子句只會執行一個,且兩個子句必須是一個 update 和一個 delete 操作 when not matched by source 和上面類似

merge icr_codemap_bak as ausing icr_codemap as bon a.COLNAME = b.COLNAME and a.ctcode = b.ctcodewhen matched and b.pbcode a.pbcodethen update set a.pbcode = b.pbcodewhen not matchedthen insert values(b.colname,b.ctcode,b.pbcode,b.note);

可以比對字段不一致進行更新

https://technet.microsoft.com/zh-cn/library/bb510625.aspx 這個是 MSDN 的網址

在 Merge Matched 操作中,只能允許執行 UPDATE 或者 DELETE 語句。在 Merge Not Matched 操作中,只允許執行 INSERT 語句。一個 Merge 語句中出現的 Matched 操作,只能出現一次 UPDATE 或者 DELETE 語句,否則就會出現下面的錯誤 – An action of type WHEN MATCHED cannot appear more than once in a UPDATE clause of a MERGE statement.Merge 語句最后必須包含分號,以 ; 結束。

ps:SQL Server 中 Merge-using 的用法

在執行之前:

merge into UserInfo uusing chartinfo c on u.UserId=c.UserIdwhen matched and u.UserName=c.UserName then update set u.lastUpdate=c.LastUpdatewhen not matched -- 為 not matched 時   不能為 update(沒有匹配成功   當然不能 update 了) then insert (UserName,Sex)values(ZhangZhao , b

執行之后

Merge 和 using 搭配用于特別是 BI 上數據統計和分析上 比如 要求子表中沒有的數據那么父表中就要刪除對應的數據 保證子表和父表的數據對應 如果按照常規的做法是 跑個作業 然后通過游標 / 表值函數 / 臨時表等等循環的獲取數據然后更新父表 這樣是很浪費效率的 這時 Merge 派上用場了。

以上就是 SQLServer 中 merge 函數如何使用,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1732字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 扎鲁特旗| 榆树市| 汕头市| 确山县| 吉木乃县| 十堰市| 灵山县| 郑州市| 宁阳县| 丰宁| 深泽县| 务川| 永德县| 枣阳市| 新巴尔虎右旗| 洪江市| 尚义县| 理塘县| 额济纳旗| 雅江县| 拜城县| 扶余县| 乾安县| 兴国县| 行唐县| SHOW| 平乡县| 中西区| 哈尔滨市| 南昌市| 偃师市| 怀远县| 常德市| 平江县| 淮北市| 米脂县| 蓝田县| 德兴市| 孙吴县| 墨竹工卡县| 工布江达县|