教你快速掌握DB2数据库创建外键时的选项

数据库
DB2数据库主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下, DB2数据库提供了高层次的数据利用性、完整性、安全性、可恢复性,本文教你快速掌握DB2数据库创建外键时的选项。

创建外键时的选项:

  1.创建测试表:

  drop table student;
  drop table class;
  drop table student_class;
  Create table student(student_id integer not null,student_name varchar(200), CONSTRAINT P_KEY_1 primary key (student_id)) in luzl_32k_tb index in luzl_32k_tb ;
  Create table class(class_id integer not null,class_name varchar(200), CONSTRAINT P_KEY_2 primary key (class_id)) in luzl_32k_tb index in luzl_32k_tb ;
  Create table student_class(student_class_id integer,student_id integer,class_id integer) in luzl_32k_tb index in luzl_32k_tb;
  alter table student_class add constraint if_class foreign key(class_id) references class(class_id) ON DELETE cascade ON UPDATE RESTRICT;
  alter table student_class add constraint if_student foreign key(student_id) references student(student_id) ON DELETE cascade ON UPDATE RESTRICT;
  Insert into student(student_id,student_name) values(1,'luzl');
  Insert into class(class_id,class_name) values(1,'db2');
  Insert into student_class(student_class_id,student_id,class_id) values(1,1,1);

  2.On Delete 的选项有

  Restrict/no action/cascade/set null.其中cascade选项指定的话,如果删除父记录,依赖于他的子记录也会自动删除.相当于级联删除.如果指定no action和cascade都会报错,因为还有子记录所以无法删除该记录.set nul允许删除父记录并且l会将子表中与父表关联的字段设置为null.

  3.On Update 只有两个选项 no action/restrict.它们在更新和删除时并没有区别:如果与子表关联不允许删除.

  4.另外还需要注意一点,父表中的字段必须是主键,才能做为子表的外键。

文中的介绍有一部分时以代码的形式展现出来的,可能对与刚入门的初学者来说比较难理解,本文为大家啊整理的条理比较明了,希望对大家寓所帮助。

【编辑推荐】

  1. 在IBM DB2数据库中进行包的重绑定
  2. 三种级别的DB2数据库字符集的设置与修改
  3. DB2数据库使用的14个经典小技巧
责任编辑:迎迎 来源: 赛迪网
相关推荐

2010-08-19 09:44:04

DB2创建外键

2010-08-18 09:09:15

DB2创建外键

2010-08-20 08:37:59

DB2创建外键

2010-08-09 10:08:15

DB2 创建外键

2011-03-16 13:21:04

IBM DB2数据库性能参数

2010-08-10 13:44:51

DB2创建外键

2010-11-03 16:32:10

DB2创建数据库

2010-08-09 13:08:45

DB2数据库

2010-09-06 10:00:00

DB2数据库

2010-08-02 14:34:53

DB2数据移动

2010-07-30 15:37:53

使用DB2

2011-03-11 16:02:03

DB2数据库安装

2010-07-27 08:48:52

DB2数据库优化

2011-08-31 16:33:00

DB2

2010-08-12 10:54:21

IBM DB2数据库

2010-09-30 10:20:55

创建DB2数据库

2010-08-27 15:26:19

DB2数据库创建

2010-08-26 11:48:30

DB2外连接交叉连接

2011-03-16 10:12:14

DB2数据库常用语句

2011-03-16 10:19:49

DB2数据库常用语句
点赞
收藏

51CTO技术栈公众号