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

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

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

    posts - 60,comments - 71,trackbacks - 0

             在ORACLE中進(jìn)行關(guān)聯(lián)查詢時(shí),作為關(guān)聯(lián)查詢的兩字段數(shù)據(jù)類型要一至,否則會報(bào):

           ORA-01722:invalid number 

    這樣的錯誤,如下查詢語句:

          select  * from A a,B b  where a.loginid=b.userid;

            如果a.loginid的數(shù)據(jù)類型為:number(n),而b.userid的數(shù)據(jù)類型為:varchar2(n),則會報(bào)上面的錯誤,要二者為同一數(shù)據(jù)類型,上面的查詢語句才能正確的被執(zhí)行,平時(shí)可能在做一些查詢統(tǒng)計(jì)時(shí)沒注意這些問題(可能表結(jié)構(gòu)是別人事先已經(jīng)建好了的,而我們只是去使用而于),所以當(dāng)我們在設(shè)計(jì)表結(jié)構(gòu)時(shí),如果以后某兩表(或多表)之間存在關(guān)聯(lián)關(guān)系,即查詢相關(guān)數(shù)據(jù)時(shí),要關(guān)聯(lián)它們之間的某些字段,這時(shí)我們就要注意了,要將到時(shí)可能用于關(guān)聯(lián)查詢的字段的數(shù)據(jù)類型設(shè)計(jì)為相同的類型,當(dāng)然字段長度可以不一樣,這樣到時(shí)關(guān)聯(lián)查詢時(shí)就不會有問題了,否則以后還要改字段數(shù)據(jù)類型,而且此時(shí)表中又有了數(shù)據(jù),為了防止數(shù)據(jù)丟失,改起來還有點(diǎn)麻煩.

           這種問題在ORACLE關(guān)系數(shù)據(jù)庫中會出現(xiàn),在其它關(guān)系數(shù)據(jù)庫中不知道會不會出現(xiàn),猜測可能也會有類似問題.

           注:  這可能是一個很簡單的問題,但這確可能是很容易忽視的問題,有時(shí)在設(shè)計(jì)表結(jié)構(gòu)時(shí),可能會由于考慮不周,造成以后要關(guān)聯(lián)查詢相關(guān)數(shù)據(jù)時(shí)出現(xiàn)上面的錯誤,從而要去改變表的字段類型,從而帶來一些不必要的麻煩.
    posted on 2009-04-09 16:49 henry1451 閱讀(1636) 評論(2)  編輯  收藏

    FeedBack:
    # re: Oracle關(guān)聯(lián)查詢時(shí)對關(guān)聯(lián)字段的數(shù)據(jù)類型要求
    2009-04-09 21:05 | 123
    沒對吧  回復(fù)  更多評論
      
    # re: Oracle關(guān)聯(lián)查詢時(shí)對關(guān)聯(lián)字段的數(shù)據(jù)類型要求
    2009-04-10 18:08 | henry1451
    不好意思,上面說的是有些地方不正確,現(xiàn)在將一些不正確的地方做一些改正:

    1)上面舉到的例子中,當(dāng)a.loginid的數(shù)據(jù)類型為:number(n),而b.userid的數(shù)據(jù)類型為:varchar2(n),
    是不一定會報(bào)那個錯誤的,即有可能不會報(bào)錯,即當(dāng)b.userid的數(shù)據(jù)內(nèi)容全部為阿拉伯?dāng)?shù)字"0-9"時(shí),是
    不會報(bào)錯的,因?yàn)镺RACLE會對b.userid字段類型進(jìn)行隱式轉(zhuǎn)換,將字符串類型隱式轉(zhuǎn)換為number,所以當(dāng)
    B表中的b.userid字段內(nèi)容有英文字符或其他字符時(shí),則會報(bào)那個錯誤,否則,當(dāng)數(shù)據(jù)內(nèi)容全部為"0-9"這樣的數(shù)字時(shí),關(guān)聯(lián)查詢是不
    會報(bào)那個錯誤的;

    2)上面提到當(dāng)關(guān)聯(lián)的兩字段數(shù)據(jù)類型不一至?xí)r,會報(bào): ORA-01722:invalid number ,這也是不整確的,即當(dāng)
    當(dāng)一個字段類型為number,一個為:varchar時(shí),如果報(bào)錯,才會報(bào):ORA-01722:invalid number這樣的錯誤,如果
    其中一個字段為日期型,或其他類型時(shí),報(bào)的則是另外的一種錯誤,而不都是: ORA-01722:invalid number這樣的錯誤.  回復(fù)  更多評論
      

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 无码一区二区三区免费| 一级做a爰性色毛片免费| 99精品视频在线观看免费专区 | 亚洲精品久久无码av片俺去也| 中国人xxxxx69免费视频| 亚洲专区先锋影音| 波多野结衣免费一区视频| 久久亚洲精品成人综合| 全部免费毛片免费播放| 亚洲AV无码国产一区二区三区| 免费观看的毛片手机视频| 婷婷国产偷v国产偷v亚洲| 亚洲а∨天堂久久精品| 一级一级毛片免费播放| 国产亚洲人成网站观看| 7m凹凸精品分类大全免费| 亚洲性色高清完整版在线观看| 永久免费AV无码国产网站 | 亚洲成在人线中文字幕| **实干一级毛片aa免费| 亚洲一区精彩视频| 又粗又大又长又爽免费视频| 一级毛片a免费播放王色| 成人午夜亚洲精品无码网站| 久久午夜夜伦鲁鲁片免费无码| 亚洲综合激情另类小说区| 最近最好的中文字幕2019免费| 真正全免费视频a毛片| 国精无码欧精品亚洲一区 | 婷婷亚洲天堂影院| 两个人看www免费视频| 亚洲国产韩国一区二区| 国产片免费福利片永久| a级毛片免费全部播放| 亚洲国产成人精品无码区在线网站| 日韩在线视频免费看| 最新亚洲成av人免费看| 亚洲av极品无码专区在线观看| 亚洲成人影院在线观看| 91精品国产免费| 在线播放免费人成视频网站|