程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 對DB2創建外鍵時選項的基本知識的詳細描述

對DB2創建外鍵時選項的基本知識的詳細描述

編輯:DB2教程

我們今天主要向大家描述的是DB2創建外鍵時的選項基本知識,以及對其在創建測試表時,我們必須要用到的實際操作代碼與On Delete 的選項的描述,以下就是文章的主要內容的詳細描述,望大家在浏覽之後會對其有更深的了解。

DB2創建外鍵時的選項:

1.創建測試表:

  1. drop table student;  
  2. drop table class;  
  3. drop table student_class;  
  4. 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 ;  
  5. 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 ;  
  6. Create table student_class(student_class_id integer,student_id integer,class_id integer) in luzl_32k_tb index in luzl_32k_tb;  
  7. alter table student_class add constraint if_class foreign key(class_id) references class(class_id) ON DELETE cascade ON UPDATE RESTRICT;  
  8. alter table student_class add constraint if_student foreign key(student_id) references student(student_id) ON DELETE cascade ON UPDATE RESTRICT;  
  9. Insert into student(student_id,student_name) values(1,'luzl');  
  10. Insert into class(class_id,class_name) values(1,'db2');  
  11. 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創建外鍵時的選項知識的介紹,望你能有所收獲。

DB2創建外鍵時的選項知識

上述的相關內容就是對DB2創建外鍵時的選項知識的描述,希望會給你帶來一些幫助在此方面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved