北京北大青鳥解析: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句法時,假如存在多處匹配,它會拋出一個錯誤。這就需要開發者主意,要達到預想的目標,當前的聯合條件還不夠十分明確。

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 精品一区二区三区视频| 精品国产福利一区二区| 2018高清国产一区二区三区| 精品理论片一区二区三区| 久久久久人妻一区精品色| 中文字幕国产一区| 精品国产AV无码一区二区三区| 91久久精品国产免费一区| 日本免费电影一区二区| 国产精久久一区二区三区| 免费无码一区二区三区蜜桃大| 午夜影院一区二区| 亚洲一区在线视频观看| 日韩精品一区二区三区四区| 精品国产AⅤ一区二区三区4区 | 久久99精品免费一区二区| 婷婷亚洲综合一区二区| 人妻av综合天堂一区| 日本一区频道在线视频| 中文精品一区二区三区四区| 精品亚洲A∨无码一区二区三区 | 一区二区三区观看免费中文视频在线播放 | 在线|一区二区三区四区| 国产在线乱子伦一区二区| 国产精品夜色一区二区三区| 亚洲一区中文字幕在线观看| 亚洲日韩AV一区二区三区中文| 国产91大片精品一区在线观看| 精品亚洲AV无码一区二区| 一本大道在线无码一区| 国内精品一区二区三区在线观看 | 日本不卡免费新一区二区三区| 亚洲一区二区三区影院 | 国内精品视频一区二区三区| 日本精品少妇一区二区三区| 亚洲乱码国产一区网址| 久久免费国产精品一区二区| 精品爆乳一区二区三区无码av| 最新中文字幕一区二区乱码| 精品女同一区二区| 久久99国产精一区二区三区|