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

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

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

    海上月明

    editer by sun
    posts - 162, comments - 51, trackbacks - 0, articles - 8
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    from:http://www.tkk7.com/pts/archive/2010/11/23/338825.html

    sqlserver和oracle中實現update關聯更新的語法不同,都可以通過inline view(內嵌視圖)
    來實現,總的來說sqlserver更簡單些. 測試例子如下:


    create table tmp_a
    (cpcode varchar2(10),
    sb_ym varchar2(6),
    flag char(1)
    );

    create table tmp_b
    (cpcode varchar2(10),
    sb_ym varchar2(6),
    flag char(1)
    );

    insert into tmp_a(cpcode,sb_ym,flag)values('3201910001','200406','e');
    insert into tmp_a(cpcode,sb_ym,flag)values('3201910002','200406','e');
    insert into tmp_b(cpcode,sb_ym,flag)values('3201910001','200406','r');
    insert into tmp_b(cpcode,sb_ym,flag)values('3201910002','200406','r');
    insert into tmp_b(cpcode,sb_ym,flag)values('3201910003','200406','r');
    insert into tmp_b(cpcode,sb_ym,flag)values('3201910004','200406','e');
    commit;

    在SQLSERVER中:

    update tmp_b set flag = b.flang from tmp_a a,tmp_b b 
    where a.cpcode =b.cpcode and a.sb_ym = b.sb_ym;


    在Oracle中:

    方法一:(效率低)
    update tmp_b a
    set flag = (select flag from tmp_a b
    where a.cpcode = b.cpcode and a.sb_ym = b.sb_ym ) 
    where exists 
    (select * from tmp_a c 
    where a.cpcode = c.cpcode and a.sb_ym = c.sb_ym);

    Statistics
    ----------------------------------------------------------
    8 recursive calls
    3 db block gets
    18 consistent gets
    0 physical reads
    0 redo size

    方法二:(效率高)
    alter table tmp_a add constraint p_tmp_a primary key (cpcode, sb_ym);

    update (select b.flag flagb,a.flag flaga 
    from tmp_a a,tmp_b b 
    where a.cpcode=b.cpcode 
    and a.sb_ym=b.sb_ym) 
    set flagb=flaga;

    Statistics
    ----------------------------------------------------------
    0 recursive calls
    3 db block gets
    7 consistent gets
    0 physical reads
    0 redo size


    注意:方法二中數據源表必須要加上主鍵,否則會報錯 
    ORA-01779: 無法修改與非鍵值保存表對應的列
    被修改的表則無需增加主鍵


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 中文成人久久久久影院免费观看| 亚洲AV无码专区在线电影成人| 中文字幕在线成人免费看| 免费一级国产生活片| 亚洲日韩一中文字暮| 免费看少妇作爱视频| 亚洲AV综合色区无码一二三区| 插B内射18免费视频| 亚洲av色香蕉一区二区三区蜜桃| 欧洲美熟女乱又伦免费视频| 亚洲AⅤ男人的天堂在线观看| 免费国产在线观看| 一级做a爰片性色毛片免费网站 | 亚洲国产无线乱码在线观看| 日韩在线视频免费看| 男人j进女人p免费视频| 在线a亚洲v天堂网2019无码| 国产成人AV片无码免费| 亚洲视频一区网站| 性感美女视频在线观看免费精品 | 国产精品V亚洲精品V日韩精品| 男女一进一出抽搐免费视频 | 中文字幕免费观看全部电影| 亚洲狠狠综合久久| 无码中文在线二区免费| 羞羞视频网站免费入口| 精品国产_亚洲人成在线高清| 久久99国产乱子伦精品免费| 亚洲综合色丁香婷婷六月图片| 免费一级毛片不卡不收费| 国产在线精品观看免费观看| 亚洲国产av一区二区三区丶| 国产人妖ts在线观看免费视频| a级大片免费观看| 亚洲熟妇无码一区二区三区| 相泽亚洲一区中文字幕| 嫖丰满老熟妇AAAA片免费看| 日韩大片在线永久免费观看网站 | 亚洲第一精品在线视频| 日本免费福利视频| 亚洲电影免费在线观看|