为DB2数据库添加验证约束

  在DB2数据库中约束用来确保表中不会使用无效的数据。不满足已定义的约束的行会被拒绝。在这个练习中,将验证约束,看看在输入无效数据时会发生什么情况。

  表 PARTICIPANT 中有一个外键,这意味着对于 PARTICIPANT 的 PAR_ID 列中的每个值,在 MODULE 表中必须有具有相同 MODULE_ID 列值的行。因为 MODULE 表当前是空的,所以如果在 PARTICIPANT 表中输入数据,那么这个条件无法得到满足。按照以下步骤验证约束:

  1、在 Control Center 中,点击 PARTICIPANT 表,然后点击 Open。在 Open Table 面板中,点击 Add Row。将下面所示的行输入 PARTICIPANT 表并点击 Commit。

  图1. Control Center —— 插入行

  Control Center —— 插入行

  2、返回消息 SQL0530N,这说明未满足外键约束所规定的引用完整性要求。

  3、点击 Close 关闭消息,再次点击关闭 Open Table 窗口。

  4、验证已经在 MODULE 表上定义的检查约束。因为在创建 MODULE 表时建立了检查约束(“CONSTRAINT MID_CHECK CHECK (MODULE_ID >= 0)”),所以 MODULE_ID 不能包含负数。

  5、在 Control Center 中,点击 MODULE 表,然后点击 Open。在 Open Table 面板中,将一个 MODULE_ID 列值为负数的行插入 MODULE 表中,并为 MODULE_NAME 提供一个名称。尝试插入,看看会发生什么情况。下面的错误消息指出不应该这么做:

  图2. 验证检查约束

  验证检查约束

  6、点击 Close 关闭消息,再次点击 Close 关闭 Open Table 窗口。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15082138/viewspace-440763/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15082138/viewspace-440763/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值