DB2创建外键时选项的掌握方案描述

数据库
我们今天主要向大家讲述的是DB2创建外键时选项快速掌握的方案,其中主要包括创建测试表,对On Delete 的选项的描述。

以下的文章主要向大家讲述的是快速掌握DB2创建外键时选项的方案,其中包括创建测试表,对On Delete 的选项介绍,以下就是文章的主要内容的详细描述,望大家在浏览之后会对其有更深的了解。

创建外键时的选项:

1.创建测试表:

drop table student;

 

  1. drop table class;   
  2. drop table student_class;   
  3. 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 ;   
  4. 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 ;   
  5. Create table student_class(student_class_id integer,student_id integer,class_id integer) in luzl_32k_tb index in luzl_32k_tb;   
  6. alter table student_class add constraint if_class foreign key(class_id) references class(class_id) ON DELETE cascade ON UPDATE RESTRICT;   
  7. alter table student_class add constraint if_student foreign key(student_id) references student(student_id) ON DELETE cascade ON UPDATE RESTRICT;   
  8. Insert into student(student_id,student_name) values(1,'luzl');   
  9. Insert into class(class_id,class_name) values(1,'db2');   
  10. 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.另外还需要注意一点,父表中的字段必须是主键,才能做为子表的外键。
 

上述的相关内容就是对快速掌握DB2创建外键时的选项的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. DB2 CMO安装7.1.2.6补丁之后会出现什么?
  2. IBM DB2中新手要了解的东西有哪些?
  3. DB2 For z/OS or OS/390性能如何正确管理?
  4. IBM DB2 Content Manager V83安装与SQL0818
  5. 挂起DB2 diag.log中看到了什么?

 

责任编辑:佚名 来源: IBM
相关推荐

2010-08-19 09:44:04

DB2创建外键

2010-08-18 09:09:15

DB2创建外键

2011-03-23 10:25:21

DB2数据库创建外键选项

2010-08-09 10:08:15

DB2 创建外键

2010-08-10 13:44:51

DB2创建外键

2010-07-30 10:32:31

DB2数据移动

2010-08-02 10:06:43

DB2数据移动

2010-08-04 15:00:06

DB2未使用索引

2010-08-12 16:10:45

DB2 Online

2010-08-09 09:50:29

整理DB2数据集

2010-07-28 11:13:04

DB2 Resotre

2010-08-03 11:19:32

DB2数据库备份

2010-08-11 14:27:57

DB2数据库备份

2010-09-07 15:39:52

DB2创建跨库视图

2010-08-02 10:44:16

DB2打补丁

2010-08-18 09:50:29

DB2缓冲池

2010-07-29 11:24:31

DB2文件系统已满

2010-11-02 14:08:29

DB2创建用户

2010-07-27 10:11:18

DB2数据库临时表

2010-07-27 13:46:08

DB2提高IMPORT
点赞
收藏

51CTO技术栈公众号