来源:赛迪网 作者: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)
)
TABLESPACE userspace;
---------------
PowerDesigner
参照完备性束厄窄小
限定(Restrict)。不允许举办改削或删除操纵。若改削或删除主表的主键时,如果子表中存在子记实,细碎将孕育产生一个错误提醒。这是缺省的参照完备性设置。
置空(Set Null)。如果外键列允许为空,若改削或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。
置为缺省(Set Default)。如果指定了缺省值,若改削或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。
级联(Cascade)。把主表中主键改削为一个新的值时,照应改削子表中外键的值;大概删除主表中主键的记实时,要照应删除子表中外键的记实
版权声明:
原创作品,允许转载,转载时请务必以超链接方式标明文章 原始因由 、作者信息和本声明。否则将究查法律责任。