北京北大青鳥解析:SQL Server 2008中的新語句:MERGE

      北京北大青鳥ACCP學術部提供:Microsoft SQL Server 2008將包含用于合并兩個行集(rowset)數據的新句法。根據一個源數據表對另一個數據表進行確定性的插入、更新和刪除這樣復雜的操作,運用新的MERGE語句,開發者只需使用一條命令就可以完成。

      在對兩個表進行信息同步時,有三步操作必須要進行。首先我們要處理任何需要插入目標數據表的新行。其次是處理需要更新的已存在的行。最后要刪除不再使用的舊行。這個過程中需要維護大量重復的邏輯,并可能導致微妙的錯誤。

      值得我們大家主意的是,這個語句將上述的多個操作步驟合并成單一語句。以下是示例:

      以下是引用的片斷:
      merge [target] t
      using [source] s on t.id = s.id
      when matched then update t.name = s.name, t.age = s.age -- use "rowset1"
      when not matched then insert values(id,name,age) -- use "rowset2"
      when source not matched then delete; -- use "rowset3"

      大家可以看到,具體的操作是根據后面的聯合(join)的解析結果來確定的。在這個示例中,假如目標和源數據表有匹配的行,就實行更新操作。如果沒有,就實行插入或者刪除操作來使目標數據表和源數據表保持一致。

      這個新句法的一個精妙之處是它在處理更新時的確定性。在使用標準的UPDATE句法和聯合時,可能有超過一個源行跟目標行匹配。在此情況下,無法預料更新操作會采用哪個源行的數據。

      而我們在使用MERGE句法時,假如存在多處匹配,它會拋出一個錯誤。這就需要開發者主意,要達到預想的目標,當前的聯合條件還不夠十分明確。

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 一区二区国产精品| 波多野结衣一区二区免费视频| 亚洲综合在线一区二区三区| 亚洲国产高清在线一区二区三区 | 国产成人午夜精品一区二区三区| 国产亚洲欧洲Aⅴ综合一区| 日韩伦理一区二区| 伊人久久一区二区三区无码| 久久中文字幕一区二区| 杨幂AV污网站在线一区二区| 亚洲色无码专区一区| 精品动漫一区二区无遮挡| 日韩好片一区二区在线看| 三上悠亚一区二区观看| 在线精品动漫一区二区无广告| 国产福利一区二区| 国产品无码一区二区三区在线| 国产美女在线一区二区三区| 精品亚洲AV无码一区二区| 久久无码AV一区二区三区| 日韩一区二区在线观看视频| 人妻AV中文字幕一区二区三区 | 精品国产一区二区三区香蕉事 | 国产精品一区二区久久乐下载| 亚洲av乱码中文一区二区三区| 亚洲AV无码一区二区三区牲色| 日韩免费一区二区三区在线| 2018高清国产一区二区三区 | 精品国产亚洲一区二区三区在线观看| 亚洲一区AV无码少妇电影| 欧美av色香蕉一区二区蜜桃小说 | 国产一区二区三区免费观看在线| 国产精品一区二区久久精品无码| 国产在线视频一区| 亚洲电影国产一区| av一区二区三区人妻少妇| 免费萌白酱国产一区二区| 伊人激情AV一区二区三区| 91精品一区二区三区久久久久 | 亚洲视频一区在线播放| 久久精品无码一区二区三区不卡|