為DB2數(shù)據(jù)庫(kù)添加驗(yàn)證約束如何輕松掌握?
文章主要描述的是正確教你為DB2數(shù)據(jù)庫(kù)添加驗(yàn)證約束的實(shí)際操作步驟,我們?yōu)榱藢?duì)其更加詳細(xì)的進(jìn)行說(shuō)明,我們是以圖文結(jié)合的方式對(duì)其進(jìn)行說(shuō)明,以下就是文章的主要內(nèi)容的詳細(xì)描述,望大家在瀏覽之后會(huì)對(duì)其有更深的了解。
在DB2數(shù)據(jù)庫(kù)中約束用來(lái)確保表中不會(huì)使用無(wú)效的數(shù)據(jù)。不滿(mǎn)足已定義的約束的行會(huì)被拒絕。在這個(gè)練習(xí)中,將驗(yàn)證約束,看看在輸入無(wú)效數(shù)據(jù)時(shí)會(huì)發(fā)生什么情況。
在DB2數(shù)據(jù)庫(kù)中約束用來(lái)確保表中不會(huì)使用無(wú)效的數(shù)據(jù)。不滿(mǎn)足已定義的約束的行會(huì)被拒絕。在這個(gè)練習(xí)中,將驗(yàn)證約束,看看在輸入無(wú)效數(shù)據(jù)時(shí)會(huì)發(fā)生什么情況。
表 PARTICIPANT 中有一個(gè)外鍵,這意味著對(duì)于 PARTICIPANT 的 PAR_ID 列中的每個(gè)值,在 MODULE 表中必須有具有相同 MODULE_ID 列值的行。因?yàn)?MODULE 表當(dāng)前是空的,所以如果在 PARTICIPANT 表中輸入數(shù)據(jù),那么這個(gè)條件無(wú)法得到滿(mǎn)足。按照以下步驟驗(yàn)證約束:
1、在 Control Center 中,點(diǎn)擊 PARTICIPANT 表,然后點(diǎn)擊 Open。在 Open Table 面板中,點(diǎn)擊 Add Row。將下面所示的行輸入 PARTICIPANT 表并點(diǎn)擊 Commit。
圖1. Control Center —— 插入行
2、返回消息 SQL0530N,這說(shuō)明未滿(mǎn)足外鍵約束所規(guī)定的引用完整性要求。
3、點(diǎn)擊 Close 關(guān)閉消息,再次點(diǎn)擊關(guān)閉 Open Table 窗口。
4、驗(yàn)證已經(jīng)在 MODULE 表上定義的檢查約束。因?yàn)樵趧?chuàng)建 MODULE 表時(shí)建立了檢查約束(“CONSTRAINT MID_CHECK CHECK (MODULE_ID >= 0)”),所以 MODULE_ID 不能包含負(fù)數(shù)。
5、在 Control Center 中,點(diǎn)擊 MODULE 表,然后點(diǎn)擊 Open。在 Open Table 面板中,將一個(gè) MODULE_ID 列值為負(fù)數(shù)的行插入 MODULE 表中,并為 MODULE_NAME 提供一個(gè)名稱(chēng)。嘗試插入,看看會(huì)發(fā)生什么情況。下面的錯(cuò)誤消息指出不應(yīng)該這么做:
圖2. 驗(yàn)證檢查約束
6、點(diǎn)擊 Close 關(guān)閉消息,再次點(diǎn)擊 Close 關(guān)閉 Open Table 窗口。
【編輯推薦】
- DB2數(shù)據(jù)庫(kù)中SELECT語(yǔ)句的用法有哪些?效果如何?
- DB2 物化查詢(xún)表以及其他常用表的介紹
- DB2數(shù)據(jù)庫(kù)SQL編碼優(yōu)化與性能描述
- 對(duì)DB2數(shù)據(jù)庫(kù)編目概念正確理解
- DB2表格操作技巧之導(dǎo)出LOB數(shù)據(jù),很簡(jiǎn)單!