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

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

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

    隨筆-295  評論-26  文章-1  trackbacks-0
    select S_10994_1_SYS_MODELTYPE.nextval,a.typeid,'SYS','Mail_Forward','郵件轉發模板','Mail Forward Model' from
    bse_organization a where not exists (select orgtypeid from SYS_MODELTYPE b where b.orgtypeid=a.typeid and modelcode ='Mail_Forward')
    --

    select S_10994_1_SYS_MODELTYPE.nextval,typeid,'SYS','Mail_Forward','郵件轉發模板','Mail Forward Model' from
    bse_organization where typeid not in (
    select orgtypeid from SYS_MODELTYPE where modelcode='Mail_Forward'
    )

    請注意not in 邏輯上不完全等同于not exists,如果你誤用了not in,小心你的程序存在致命的BUG:


    請看下面的例子:
    create table t1 (c1 number,c2 number);
    create table t2 (c1 number,c2 number);

    insert into t1 values (1,2);
    insert into t1 values (1,3);
    insert into t2 values (1,2);
    insert into t2 values (1,null);

    select * from t1 where c2 not in (select c2 from t2);
    no rows found
    select * from t1 where not exists (select 1 from t2 where t1.c2=t2.c2);
    c1 c2
    1 3

    正如所看到的,not in 出現了不期望的結果集,存在邏輯錯誤。如果看一下上述兩個select語句的執行計劃,也會不同。后者使用了hash_aj。
    因此,請盡量不要使用not in(它會調用子查詢),而盡量使用not exists(它會調用關聯子查詢)。如果子查詢中返回的任意一條記錄含有空值,則查詢將不返回任何記錄,正如上面例子所示。
    除非子查詢字段有非空限制,這時可以使用not in ,并且也可以通過提示讓它使用hasg_aj或merge_aj連接。



    大盤預測 國富論
    posted on 2007-10-11 16:51 華夢行 閱讀(194) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 91精品手机国产免费| 久久99精品免费一区二区| 99久久免费国产香蕉麻豆| 亚洲国产精品VA在线看黑人| 国产成人无码免费网站| 亚洲精品视频免费| aa在线免费观看| 亚洲精品白浆高清久久久久久| 国产免费MV大全视频网站| 亚洲视频在线精品| 中文字幕免费在线视频| 亚洲成在人线av| 亚洲免费精彩视频在线观看| 久久久婷婷五月亚洲97号色| 91久久青青草原线免费| 亚洲国产亚洲综合在线尤物| 日韩不卡免费视频| 亚洲av第一网站久章草| 亚洲国产精品13p| 在线观看人成视频免费无遮挡| 亚洲an天堂an在线观看| 免费看h片的网站| 亚洲成a∨人片在无码2023| 亚洲日韩区在线电影| 亚洲精品在线免费观看| 亚洲日本VA中文字幕久久道具| 全黄a免费一级毛片人人爱| 成人免费一区二区三区| 亚洲色成人网一二三区| 免费国产黄线在线观看| 狠狠热精品免费观看| 久久亚洲成a人片| 女性自慰aⅴ片高清免费| 成人在线免费视频| 亚洲最新视频在线观看| 国产无遮挡色视频免费视频| 中文字幕无线码免费人妻| 亚洲13又紧又嫩又水多| 亚洲国产综合精品一区在线播放| 男女午夜24式免费视频| 国产亚洲精品成人AA片|