


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Oracle數(shù)據(jù)庫(kù)約束中的NULL的處理實(shí)際上Oracle也是如此實(shí)現(xiàn)的:
SQL>CREATETABLET(IDNUMBER);
表已創(chuàng)立。
SQL>ALTERTABLETADDUNIQUE(ID);
表已更改。
SQL>INSERTINTOTVALUES(1);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(1);
INSERTINTOTVALUES(1)
*第1行消失錯(cuò)誤:
ORA-00001:違反約束條件(YANGTK.SYS_C007300)
SQL>INSERTINTOTVALUES(NULL);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(NULL);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(NULL);
已創(chuàng)立1行。
但是當(dāng)約束為復(fù)合字段時(shí),則狀況發(fā)生了變化。依據(jù)Oracle文檔的描述,對(duì)于復(fù)合字段的約束,不為空字段的值是不能重復(fù)的。也就是說(shuō),假如兩個(gè)字段構(gòu)成了一個(gè)約束,其中一個(gè)字段為空,那么另一個(gè)字段的值不能消失重復(fù)。
SQL>DROPTABLETPURGE;
表已刪除。
SQL>CREATETABLET(IDNUMBER,ID2NUMBER);
表已創(chuàng)立。
SQL>ALTERTABLETADDUNIQUE(ID,ID2);
表已更改。SQL>INSERTINTOTVALUES(1,1);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(1,NULL);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(2,NULL);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(1,NULL);
INSERTINTOTVALUES(1,NULL)
*第1行消失錯(cuò)誤:
ORA-00001:違反約束條件(YANGTK.SYS_C007301)
SQL>INSERTINTOTVALUES(NULL,NULL);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(NULL,NULL);
已創(chuàng)立1行。
SQL>INSERTINTOTVALUES(NULL,NULL);
已創(chuàng)立1行。
對(duì)于全部為NULL的狀況,仍舊和單字段約束一樣,不會(huì)造成重復(fù),但是對(duì)于局部為NULL的狀況,就如上面例子所示,只要其中不為NULL的局部發(fā)生了重復(fù),Oracle就認(rèn)為約束發(fā)生了重復(fù)。
而這好像和NULL的定義有所沖突,第一次看concept的時(shí)候始終沒(méi)有搞明白Oracle為什么這么實(shí)現(xiàn),不過(guò)這次再看concept的時(shí)候,已經(jīng)想明白了。
由于Oracle的約束是依靠索引實(shí)現(xiàn)的,而Oracle的BTREE索引又是不存儲(chǔ)NULL值的,所以鍵值全部為NULL的記錄不會(huì)記錄在索引中,因此也就不會(huì)違反約束了,而對(duì)于局部為NULL的記錄,索引是要記錄數(shù)值的,因此一旦鍵值中非NULL局
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶能源職業(yè)學(xué)院《醫(yī)藥產(chǎn)品推銷(xiāo)理論與技巧》2023-2024學(xué)年第一學(xué)期期末試卷
- 黑龍江佳木斯第一中學(xué)2024-2025學(xué)年高三下學(xué)期第一學(xué)段考英語(yǔ)試題含解析
- 海南工商職業(yè)學(xué)院《高分子基礎(chǔ)專(zhuān)業(yè)理論教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶電信職業(yè)學(xué)院《漢語(yǔ)言文學(xué)教師教育專(zhuān)業(yè)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江紡織服裝職業(yè)技術(shù)學(xué)院《保健食品設(shè)計(jì)原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 古代乳癖灸法論述
- 公路工程軟基處理質(zhì)量保證措施
- 瀝青路面拉毛施工方案
- 江蘇施工方案報(bào)審表
- 2025年中國(guó)酒業(yè)市場(chǎng)分析:規(guī)模突破萬(wàn)億結(jié)構(gòu)升級(jí)與消費(fèi)趨勢(shì)洞察
- 《陸上風(fēng)電場(chǎng)工程概算定額》NBT 31010-2019
- 數(shù)學(xué)建模教學(xué)課件
- 醫(yī)學(xué)專(zhuān)題血管麻痹綜合征(劉德昭)
- SF∕T 0111-2021 法醫(yī)臨床檢驗(yàn)規(guī)范
- 美國(guó)德克薩斯州駕駛考試模擬題及相關(guān)資料中英對(duì)照
- GB∕T 10836-2021 船用多功能焚燒爐
- 【告知牌】有限空間作業(yè)安全告知牌及警示標(biāo)志
- 個(gè)人勞動(dòng)仲裁申請(qǐng)書(shū)
- 特種設(shè)備現(xiàn)場(chǎng)安全監(jiān)督檢查記錄(共1頁(yè))
- 福德正神真經(jīng)
- 溢流堰穩(wěn)定計(jì)算
評(píng)論
0/150
提交評(píng)論