热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle级联操作详解

在添加foreingkey约束时,还可以指定级联操作的类型,主要用于确定当删除(ondelete)附表中的一条记录时,如何处理子表中的外

在添加foreing key约束时,还可以指定级联操作的类型,主要用于确定当删除(on delete) 附表中的一条记录时,如何处理子表中的外

在添加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>

Oracle级联操作

本文永久更新链接地址

推荐阅读
author-avatar
手机用户2502887971_699
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有