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


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


    網站導航:
     
    主站蜘蛛池模板: 毛片免费vip会员在线看| 国产精品免费电影| 日本亚洲视频在线| 亚洲人成人无码网www电影首页| 亚洲自偷自拍另类12p| 国内精品一级毛片免费看| 亚洲AV日韩AV高潮无码专区| 99精品免费视品| 亚洲国产精品VA在线看黑人 | 免费福利资源站在线视频| 国产又大又长又粗又硬的免费视频 | 国产男女猛烈无遮档免费视频网站| 亚洲一区二区三区写真 | 日韩精品久久久久久免费| 亚洲网址在线观看你懂的| 亚洲av无码专区国产乱码在线观看 | 亚洲成AV人片一区二区| 四虎影视成人永久免费观看视频| 亚洲黄色免费电影| 中文字幕无码成人免费视频| 亚洲youwu永久无码精品 | 四虎国产精品免费久久| 国产亚洲欧美日韩亚洲中文色 | 激情内射亚洲一区二区三区| 国产乱码免费卡1卡二卡3卡| 亚洲AV电影天堂男人的天堂| 久久影院亚洲一区| 91九色视频无限观看免费| 亚洲一区二区三区自拍公司| 蜜桃成人无码区免费视频网站 | 久久久久久久综合日本亚洲 | 99无码人妻一区二区三区免费| 亚洲av无码专区在线观看亚| 亚洲精品成人a在线观看| 亚洲熟女乱色一区二区三区 | 亚洲精品综合久久中文字幕| 日韩免费三级电影| 国产免费无码AV片在线观看不卡| 7777久久亚洲中文字幕| 久久久无码精品亚洲日韩软件| 最近免费最新高清中文字幕韩国|