日本一区二区免费播放_麻豆导航_久久精品99_国产性av_色婷婷噜噜久久国产精品12p_av福利资源_精品综合久久

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 程序開發(fā)教程 > 解讀SQL Server2008的新語句MERGE

解讀SQL Server2008的新語句MERGE
2010-01-17 10:59:23  作者:  來源:
SQL Server 2008將包含用于合并兩個行集(rowset)數(shù)據(jù)的新句法。根據(jù)一個源數(shù)據(jù)表對另一個數(shù)據(jù)表進(jìn)行確定性的插入、更新和刪除這樣復(fù)雜的操作,運用新的MERGE語句,開發(fā)者用一條命令就可以完成。

  對兩個表進(jìn)行信息同步時,有三步操作要進(jìn)行。首先要處理任何需要插入目標(biāo)數(shù)據(jù)表的新行。其次是處理需要更新的已存在的行。最后要刪除不再使用的舊行。這個過程中需要維護(hù)大量重復(fù)的邏輯,并可能導(dǎo)致微妙的錯誤。

  Bob Beauchemin討論了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" 
 


  如你所見,具體操作是根據(jù)后面的聯(lián)合(join)的解析結(jié)果來確定的。在這個例子中,如果目標(biāo)和源數(shù)據(jù)表有匹配的行,就實行更新操作。如果沒有,就實行插入或者刪除操作來使目標(biāo)數(shù)據(jù)表和源數(shù)據(jù)表保持一致。

  這個新句法的一個美妙之處是它在處理更新時的確定性。在使用標(biāo)準(zhǔn)的UPDATE句法和聯(lián)合時,可能有超過一個源行跟目標(biāo)行匹配。在這種情況下,無法預(yù)料更新操作會采用哪個源行的數(shù)據(jù)。

  而當(dāng)使用MERGE句法時,如果存在多處匹配,它會拋出一個錯誤。這就提醒了開發(fā)者,要達(dá)到預(yù)想的目標(biāo),當(dāng)前的聯(lián)合條件還不夠明確。

安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 欧美大成色www永久网站 | 国内福利写真片视频在线观看 | a网站在线观看 | 在线观看免费视频69式 | 91久久99| 午夜视频十八嗯嗯啊免费 | 狠狠色噜噜狠狠狠米奇9999 | 二个人的视频www | 亚洲黄网免费 | 麻豆国内剧果冻传媒视频在线观看 | 国产高清视频网站 | 97天天摸天天碰天天爽 | 中文字幕精品视频在线观 | 日本综合在线观看 | 人人搞人人爱 | 久久午夜鲁丝片午夜精品 | 人人澡人人澡人人看添欧美 | 久久精品人人做人人爽97 | 国产性色视频在线高清 | 国产高清在线精品 | 欧美三级一区二区 | 欧美黄色第一页 | 久九色| 国产精品久久影院 | 日本视频www色 | 日本在线成人 | 欧美精品伊人久久 | 九九九热精品 | 久久一本岛在免费线观看2020 | 日本视频在线观看不卡高清免费 | 久久99精品波多结衣一区 | 亚洲第一色视频 | 精品国产第一页 | 欧美午夜一艳片欧美精品 | 蜜桃网视频在线蜜桃8477 | 亚洲日本va中文字幕区 | 精品一区二区三区四区五区六区 | 九九视频免费精品视频免费 | 日韩黄色视屏 | 狠狠躁夜夜躁人人爽天天 | 国产精品久久久久999 |