为DB2数据库添加验证约束

ZDNet软件频道 时间:2008-09-22 作者:佚名 | 论坛整理 我要评论()
本文关键词:DB2 数据库 验证约束 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 窗口。

查看本文来源


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134