<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级毛片毛片免费观看久潮喷| 免费无码AV电影在线观看| 日韩精品无码人妻免费视频 | 亚洲AV无码乱码在线观看裸奔| 亚洲精品宾馆在线精品酒店| 亚洲电影免费在线观看| MM131亚洲国产美女久久| 亚洲AV日韩综合一区尤物| 69av免费观看| 亚洲无人区一区二区三区| 亚洲国产成人AV网站| 日本妇人成熟免费中文字幕 | 亚洲福利一区二区精品秒拍| 中文字幕免费在线观看动作大片| 国产嫩草影院精品免费网址| 亚洲人成在线中文字幕| 久久狠狠躁免费观看2020| 国产综合精品久久亚洲| 美女被羞羞网站免费下载| 女人18特级一级毛片免费视频| 亚洲精品视频久久| 日韩免费的视频在线观看香蕉| 中文字幕亚洲一区二区va在线| 国产精品成人亚洲| 免费高清资源黄网站在线观看| 亚洲一级视频在线观看| 4444www免费看| 亚洲成av人片在线观看无码不卡| 中文字幕在线观看免费| 亚洲第一视频在线观看免费| 亚洲AV无码一区二区三区牲色| 久久不见久久见免费影院| 亚洲精品一卡2卡3卡三卡四卡| 久久99热精品免费观看牛牛| 国产亚洲综合成人91精品| 久久免费视频一区| 亚洲欧洲中文日韩av乱码| 美女免费视频一区二区三区| 国产免费拔擦拔擦8x| 大桥未久亚洲无av码在线| 日韩精品视频免费在线观看|