<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    隨筆-230  評(píng)論-230  文章-8  trackbacks-0

    Oracle9i引入了一個(gè)新的SQL語句,使用本語句可以在一條語句中連接兩個(gè)表。
    以前要使用UPDATE去更新兩個(gè)表中都存在的記錄,或者用INSERT添加兩個(gè)合并表中不存在的記錄,必須寫兩個(gè)SQL語句,
    而現(xiàn)在這兩種操作都只要一條SQL MERGE語句就可以實(shí)現(xiàn)。

     

    create table inventory (part_nointeger integer,part_count integer); 

    insert into inventory values(1,5);

    insert into inventory values(3,6); 


    create table shipment (part_nointeger integer,part_count integer);

    insert into shipment values(1,2);
    insert into shipment values(2,2);

    MERGE 
    INTO inventory
        USING shipment
        
    ON (inventory.part_nointeger=shipment.part_nointeger)
    WHEN MATCHED THEN
       
    UPDATE SET inventory.part_count=inventory.part_count+shipment.part_count  --注意如果這里前面的part_count字段不指明表名,默認(rèn)為shipment字段,結(jié)果會(huì)為4
    WHEN NOT MATCHED THEN
       
    INSERT VALUES (shipment.part_nointeger,shipment.part_count);

    commit;
    select * from inventory;
       
    truncate table inventory;     
    /*
      PART_NO   PART_COUNT
    ----------              ----------
          1                      7
          3                      6
          2                      2 

     

    執(zhí)行的結(jié)果是shipment數(shù)據(jù)已經(jīng)被合并到inventory中,所以與inventory中某些東西相匹配的shipment都會(huì)被添加到count中,
    而沒有得到的匹配的就不會(huì)添加到inventory中。

     

    在MERGE語句中必須指定一個(gè)WHEN MATCHED和一個(gè)WHEN NOT MATHCED語句。
    如果除這兩種情況之外還有別的情況,你可能就需要使用一個(gè)常規(guī)的INSERT或者UPDATE語句。

     

    另外一點(diǎn)是MERGE語句一次只能修改一行記錄,而且不能修改在ON子句中引用的列。

     

    MERGE語句的目標(biāo)表(target table)(在本例中是inventory)必須是一個(gè)可以使用INSERT語句進(jìn)行插入或者UPDATE語句進(jìn)行更新的表或者視圖。
    源表(source table)(在本例中是shipment)可以是任何的查詢表,比如說外部表或者管道化表函數(shù)。

    posted on 2008-06-12 10:59 有貓相伴的日子 閱讀(1668) 評(píng)論(0)  編輯  收藏 所屬分類: pl/sql
    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    主站蜘蛛池模板: 午夜亚洲国产理论秋霞| 亚洲国产午夜电影在线入口| 日本卡1卡2卡三卡免费| 亚洲人成777在线播放| 日韩成人免费视频播放| 国产精品永久免费| 一级毛片在线免费看| 亚洲一区二区三区播放在线| 日产国产精品亚洲系列| 无码国产精品一区二区免费式芒果 | 亚洲高清视频在线| JLZZJLZZ亚洲乱熟无码| 亚洲一级毛片免费看| 看Aⅴ免费毛片手机播放| 久久91亚洲精品中文字幕| 天天摸天天操免费播放小视频| 国产精品免费αv视频| 亚洲精品天堂在线观看| 亚洲综合无码精品一区二区三区 | 人妻免费一区二区三区最新| 亚洲乱码一二三四区国产| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 精品亚洲综合久久中文字幕| 成年人视频在线观看免费| 免费在线黄色电影| 春暖花开亚洲性无区一区二区 | 亚洲性69影院在线观看| 亚洲视频在线免费看| 久久亚洲免费视频| 一级看片免费视频囗交| 亚洲乱码一二三四区国产| 成人午夜亚洲精品无码网站| 性感美女视频免费网站午夜| 99久久免费看国产精品| 亚洲AV无码国产精品永久一区| 亚洲av日韩av不卡在线观看| 免费一看一级毛片| 女人被免费视频网站| 99热精品在线免费观看| 两个人看的www视频免费完整版| 亚洲GV天堂无码男同在线观看|