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

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

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

    世事如棋
    Aspire to Professionalism
    posts - 4,  comments - 12,  trackbacks - 0
    這個(gè)是jrlee在帖子中轉(zhuǎn)載的關(guān)于DUAL的東西
    看看這個(gè)可以對(duì)DUAL有個(gè)更深入的了解
    引用:原帖由?"jrlee"?發(fā)表:

    神秘的DUAL?black_snail(原作)?

    關(guān)鍵字?ORACLE?DUAL?


    DUAL???有什么神秘的??當(dāng)你想得到ORACLE系統(tǒng)時(shí)間,?簡(jiǎn)簡(jiǎn)單單敲一行SQL?

    不就得了嗎??故弄玄虛….?

    SQL>;?select?sysdate?from?dual;?

    SYSDATE?

    ---------?

    28-SEP-03?



    哈哈,?確實(shí)DUAL的使用很方便.?但是大家知道DUAL倒底是什么OBJECT,?它有什么特殊的行為嗎??來(lái),我們一起看一看.?



    首先搞清楚DUAL是什么OBJECT?:?

    SQL>;?connect?system/manager?

    Connected.?

    SQL>;?select?owner,?object_name?,?object_type?from?dba_objects?where?object_name?like?'%DUAL%';?



    OWNER?OBJECT_NAME?OBJECT_TYPE?

    ---------------?---------------?-------------?

    SYS?DUAL?TABLE?

    PUBLIC?DUAL?SYNONYM?



    原來(lái)DUAL是屬于SYS?schema的一個(gè)表,然后以PUBLIC?SYNONYM的方式供其他數(shù)據(jù)庫(kù)USER使用.?

    再看看它的結(jié)構(gòu):?

    SQL>;?desc?dual?

    Name?Null??Type?

    -----------------------------------------?--------?----------------------------?

    DUMMY?VARCHAR2(1)?



    SQL>;?



    只有一個(gè)名字叫DUMMY的字符型COLUMN?.?



    然后查詢(xún)一下表里的數(shù)據(jù):?

    SQL>;?select?dummy?from?dual;?

    DUMMY?

    ----------?

    X?



    哦,?只有一條記錄,?DUMMY的值是’X’?.很正常啊,沒(méi)什么奇怪嘛.?好,下面就有奇妙的東西出現(xiàn)了!?

    插入一條記錄:?

    SQL>;?connect?sys?as?sysdba?

    Connected.?

    SQL>;?insert?into?dual?values?(?'Y');?

    1?row?created.?

    SQL>;?commit;?

    Commit?complete.?

    SQL>;?select?count(*)?from?dual;?

    COUNT(*)?

    ----------?

    2?

    迄今為止,一切正常.?然而當(dāng)我們?cè)俅尾樵?xún)記錄時(shí),奇怪的事情發(fā)生了?

    SQL>;?select?*?from?dual;?

    DUMMY?

    ----------?

    X?

    剛才插入的那條記錄并沒(méi)有顯示出來(lái)?!?明明DUAL表中有兩條記錄,?可就是只顯示一條!?

    再試一下刪除?,狠一點(diǎn),全刪光?!?

    SQL>;?delete?from?dual;?/*注意沒(méi)有限定條件,試圖刪除全部記錄*/?

    1?row?deleted.?

    SQL>;?commit;?

    Commit?complete.?



    哈哈,也只有一條記錄被刪掉,?

    SQL>;?select?*?from?dual;?

    DUMMY?

    ----------?

    Y?



    為什么會(huì)這樣呢??難道SQL的語(yǔ)法對(duì)DUAL不起作用嗎?帶著這個(gè)疑問(wèn),?我查詢(xún)了一些ORACLE官方的資料.?原來(lái)ORACLE對(duì)DUAL表的操作做了一些內(nèi)部處理,盡量保證DUAL表中只返回一條記錄.當(dāng)然這寫(xiě)內(nèi)部操作是不可見(jiàn)的?.?

    看來(lái)ORACLE真是蘊(yùn)藏著無(wú)窮的奧妙啊!?



    附:?ORACLE關(guān)于DUAL表不同尋常特性的解釋?

    There?is?internalized?code?that?makes?this?happen.?Code?checks?that?ensure?

    that?a?table?scan?of?SYS.DUAL?only?returns?one?row.?Svrmgrl?behaviour?is?

    incorrect?but?this?is?now?an?obsolete?product.?

    The?base?issue?you?should?always?remember?and?keep?is:?DUAL?table?should?always?

    have?1?ROW.?Dual?is?a?normal?table?with?one?dummy?column?of?varchar2(1).?

    This?is?basically?used?from?several?applications?as?a?pseudo?table?for?

    getting?results?from?a?select?statement?that?use?functions?like?sysdate?or?other?

    prebuilt?or?application?functions.?If?DUAL?has?no?rows?at?all?some?applications?

    (that?use?DUAL)?may?fail?with?NO_DATA_FOUND?exception.?If?DUAL?has?more?than?1?

    row?then?applications?(that?use?DUAL)?may?fail?with?TOO_MANY_ROWS?exception.?

    So?DUAL?should?ALWAYS?have?1?and?only?1?row



    posted on 2006-05-12 10:17 KingWell 閱讀(165) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Hibernate

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    歡迎訪(fǎng)問(wèn)我的網(wǎng)站
    JSF中國(guó)

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章分類(lèi)

    文章檔案

    收藏夾

    我的資源

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲午夜精品在线| 久久亚洲国产午夜精品理论片| 久久精品亚洲一区二区三区浴池| 久久久精品国产亚洲成人满18免费网站| 国产在线98福利播放视频免费| 亚洲熟妇成人精品一区| 免费中文熟妇在线影片 | 中文字幕亚洲免费无线观看日本 | 337p日本欧洲亚洲大胆艺术| 国产精品免费看久久久| 亚洲国产精品一区第二页| a国产成人免费视频| 亚洲av无码片在线播放| 一区二区三区观看免费中文视频在线播放| 亚洲精品无码Av人在线观看国产 | 成人无码区免费视频观看| 亚洲av产在线精品亚洲第一站| 国产在线观看片a免费观看| 亚洲欧美日韩一区二区三区 | 国内大片在线免费看| 亚洲色偷精品一区二区三区| 日韩成全视频观看免费观看高清 | 中国性猛交xxxxx免费看| 亚洲av午夜福利精品一区人妖| 99久久免费观看| 亚洲国产亚洲片在线观看播放| 成人毛片18女人毛片免费96 | 午夜在线免费视频| 国产亚洲无线码一区二区 | 亚洲精品高清视频| 一二三四在线播放免费观看中文版视频| 久久国产亚洲精品| 亚洲国产综合精品一区在线播放| 中文字幕成人免费高清在线| 亚洲国产综合专区在线电影| 在线A级毛片无码免费真人| 国产免费久久精品丫丫| 亚洲欧洲精品在线| 亚洲成人一区二区| 美女内射无套日韩免费播放 | 在线免费视频一区|