程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle級聯操作

oracle級聯操作

編輯:Oracle教程

oracle級聯操作


在添加foreing key約束時,還可以指定級聯操作的類型,主要用於確定當刪除(on delete) 附表中的一條記錄時,如何處理子表中的外鍵字段,有如下三種引用類型。

cascade
此關鍵字用於表示當刪除主表中被引用列的數據時,將子表中相應應用列的值置為null值,這種情況要求子表中的引用列支持null值
set null
此關鍵字用於當刪除主表中被引用列的數據時,將子表中相應引用列的值設置為null值。這種情況要求子表中的應用列支持null值。
not action
此關鍵字用於表示當刪除主表中被引用的數據時,如果子表的引用列種包含該值,則禁止操作執行。默認為該選項。

具體的操作如下:
SQL> create table stuclass(
2 cid number(4) primary key,
3 cname varchar2(40),
4 num number(4)
5 );
表已創建。
SQL> create table stu(
2 sid number(4),
3 scode varchar(10),
4 sname varchar(20),
5 cid number(4) references stuclass(cid) on delete set null
6 );
表已創建。
SQL> insert into stuclass values(1,'oracle',35);
已創建 1 行。
SQL> insert into stu values(1,'s001','aaa',1);
已創建 1 行。
SQL> delete stuclass where cid=1;
已刪除 1 行。
SQL> select * from stuclass;
未選定行
SQL> select * from stu;
SID SCODE SNAME CID
---------- ---------- -------------------- ----------
1 s001 aaa
SQL>

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