<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://m.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: 無法修改與非鍵值保存表對應的列
    被修改的表則無需增加主鍵


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲第一黄色网址| 91福利视频免费观看| 亚洲第一第二第三第四第五第六 | 亚洲综合色区在线观看| 亚洲av女电影网| 亚洲国产成人精品久久| 国产精品久久亚洲一区二区| 免费夜色污私人影院网站| 久久青草91免费观看| 美女裸身网站免费看免费网站 | 国产成人精品免费视频动漫| 大胆亚洲人体视频| 亚洲国产精品成人精品软件| 黄色短视频免费看| 国国内清清草原免费视频99| jiz zz在亚洲| 无码国产精品一区二区免费vr | 国产性生交xxxxx免费| 国产亚洲综合成人91精品 | 日韩免费人妻AV无码专区蜜桃| 内射无码专区久久亚洲| 一级毛片一级毛片免费毛片| 两个人的视频高清在线观看免费| 亚洲成AV人片在线观看无码| 国产成人亚洲午夜电影| 久久亚洲精品无码观看不卡| 亚洲欧美在线x视频| 成年人视频在线观看免费| 久久亚洲精品中文字幕三区| 中文字幕免费观看| 久久亚洲色WWW成人欧美| 处破痛哭A√18成年片免费| 中文字幕亚洲色图| 成人网站免费大全日韩国产| 凹凸精品视频分类国产品免费| 亚洲人成电影青青在线播放| 国产成人涩涩涩视频在线观看免费 | 精品国产免费一区二区三区香蕉| 亚洲国产精品碰碰| 亚州免费一级毛片| 欧洲乱码伦视频免费国产|