天天看點

解說SQL與Oracle外鍵束厄窄小中的級聯删除

  作者:Byron,這篇文章首要引見了SQL與Oracle外鍵束厄窄小中的級聯删除,更多内容

 作者:Byron

這篇文章首要引見了SQL與Oracle外鍵束厄窄小中的級聯删除,更多内容請參考下文:

比來軟體細碎中要删除一筆記實,就要接洽關系到同時删除良多多少張表,它們之間還存在着束厄窄小相幹.以是考慮到在建立表時加上束厄窄小相幹,詳細内容如下:

SQL的外鍵束厄窄小可以完成級聯删除與級聯更新;

ORACLE則隻充許級聯删除。

SQL級聯删除與級聯更新利用格局:

CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20))

CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT)

ORACLE級聯删除利用格局:

CREATE TABLE A001(ID INT PRIMAY KEY,NAME VARCHAR2(20))

CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE,AGE NUMBER(2,0))

--------------

CREATE TABLE groups

(

id VARCHAR2(16) CONSTRAINT pk_groupid PRIMARY KEY,

name VARCHAR2(32),

description VARCHAR2(50)

)

TABLESPACE userspace;

CREATE TABLE usringrp

group_id VARCHAR2(16) CONSTRAINT fk_uing_grpid

REFERENCES groups(id)

ON DELETE CASCADE,

user_id VARCHAR2(16)

---------------

PowerDesigner

參照完備性束厄窄小

限定(Restrict)。不允許舉辦改削或删除操縱。若改削或删除主表的主鍵時,如果子表中存在子記實,細碎将孕育産生一個錯誤提醒。這是預設的參照完備性設定。

置空(Set Null)。如果外鍵列允許為空,若改削或删除主表的主鍵時,把子表中參照的外鍵列設定為空值(NULL)。

置為預設(Set Default)。如果指定了預設值,若改削或删除主表的主鍵時,把子表中參照的外鍵設定為預設值(Default)。

級聯(Cascade)。把主表中主鍵改削為一個新的值時,照應改削子表中外鍵的值;大概删除主表中主鍵的記實時,要照應删除子表中外鍵的記實

版權聲明:

原創作品,允許轉載,轉載時請務必以超連結方式标明文章 原始因由 、作者資訊和本聲明。否則将究查法律責任。

繼續閱讀