<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
    這個是jrlee在帖子中轉(zhuǎn)載的關(guān)于DUAL的東西
    看看這個可以對DUAL有個更深入的了解
    引用:原帖由?"jrlee"?發(fā)表:

    神秘的DUAL?black_snail(原作)?

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


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

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

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

    SYSDATE?

    ---------?

    28-SEP-03?



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



    首先搞清楚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?



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

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

    SQL>;?desc?dual?

    Name?Null??Type?

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

    DUMMY?VARCHAR2(1)?



    SQL>;?



    只有一個名字叫DUMMY的字符型COLUMN?.?



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

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

    DUMMY?

    ----------?

    X?



    哦,?只有一條記錄,?DUMMY的值是’X’?.很正常啊,沒什么奇怪嘛.?好,下面就有奇妙的東西出現(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)我們再次查詢記錄時,奇怪的事情發(fā)生了?

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

    DUMMY?

    ----------?

    X?

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

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

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

    1?row?deleted.?

    SQL>;?commit;?

    Commit?complete.?



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

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

    DUMMY?

    ----------?

    Y?



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

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



    附:?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 閱讀(164) 評論(0)  編輯  收藏 所屬分類: Hibernate

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


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

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

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    我的資源

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 麻豆成人精品国产免费| 午夜网站免费版在线观看| 亚洲中文久久精品无码1| 免费观看的a级毛片的网站| 亚洲精品无码中文久久字幕| 亚洲国产成人a精品不卡在线| 久久国产乱子伦精品免费不卡| 亚洲综合小说另类图片动图 | 亚洲图片校园春色| 国产大片免费观看中文字幕| 97人妻精品全国免费视频 | 亚洲精品色午夜无码专区日韩| 青娱乐免费在线视频| 成人国产网站v片免费观看| 67pao强力打造67194在线午夜亚洲 | 自拍日韩亚洲一区在线| 国产亚洲AV夜间福利香蕉149| 999久久久免费精品国产| www免费黄色网| 国产成人精品日本亚洲网址| 亚洲精品午夜无码电影网| 成人免费视频一区二区三区| 久久狠狠躁免费观看2020| 猫咪免费观看人成网站在线| 亚洲一区精品视频在线| 国产亚洲精品久久久久秋霞| 日美韩电影免费看| 国产成人精品免费视频网页大全| caoporn成人免费公开| 亚洲精品一卡2卡3卡四卡乱码| 亚洲AV本道一区二区三区四区| 国产一级一片免费播放| 无码国产精品一区二区免费式影视| 中国一级特黄高清免费的大片中国一级黄色片 | 亚洲色欲色欲www| 亚洲AV无码专区在线播放中文| 日韩亚洲国产二区| 在线免费不卡视频| 一二三四免费观看在线视频中文版 | 亚洲日本va午夜中文字幕久久| 精品熟女少妇AV免费观看|