Oracle数据库中表格的级联删除问题

原创 2013年12月05日 17:02:11
数据库表中没有设置级联删除.怎样用SQL语句实现:
如:EMP表中有字段DEPT_NO是外键
   POS表中有字段DEPT_NO是外键
   DEPT表中有字段DEPT_NO,
如何实现删除DEPT表中数据时将EMP表,POS表中的相关数据也删除;


这里有两种方法:

方法一:触发器解决
create or replace trigger delete_dept
before delete on DEPT
for each row
begin
 delete from EMP where DEPT_NO = :old.DEPT_NO;
 delete from POS where DEPT_NO = :old.DEPT_NO;
end;


方法二:修改你的外键设置,达到级联删除的目的,具体实现如下:
 a)先查询出EMP表和POS表中 外键的名称(如果知道 外键名这一步可以省略)
  select CONSTRAINT_NAME,TABLE_NAME from user_constraints where CONSTRAINT_TYPE ='R' and TABLE_NAME in('EMP','POS');
 
 b)删除EMP表和POS表上的外键后 重新建立允许级联删除的外键模式
   alter table EMP drop constraint 外键名;
   alter table POS drop constraint 外键名;
   alter table EMP add constraint 外键名 foreign key(DEPT_NO) references DEPT(DEPT_NO) on delete cascade;
   alter table POS add constraint 外键名 foreign key(DEPT_NO) references DEPT(DEPT_NO) on delete cascade;

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

关于excel表格数据处理及导入oracle数据库相关操作

1.excel数据去重 选中对应列和数据区域  即可去除重复数据 2.定位查询所有合并单元格 通过ctrl+F打开查找窗口     3.拆分所有合并单元格  并有原有项进行填充 定位...

vs2010MFCActiveX控件,连接ORACLE数据库,并显示表名,字段名,并把表格在DataGrid显示

在头文件类中先定义这些变量,方便在操作数据库的成员函数中使用。 _ConnectionPtr pConn;//连接指针 _RecordsetPtr pRst;//记录集指针 _CommandPtr...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

java如何将Excel表格中内容写入oracle数据库

首先我们需要一个jxl.jar文件,下载地址:http://www.andykhan.com/jexcelapi/download.html 数据库连接jar包根据你安装的oracle数据库版本选择...

基于Oracle数据库中多个库进行动态表格生成及增、删、改、查

这里主要说下在MVC结构的view层中运用js进行操作。 1、首先实现对Oracle数据库的数据查询显示,在TP中用volist>标签进行遍历Controller层传来的数据,在这个地方就会遇到问题,...

Oracle之外键(Foreign Key)用法详解(二)- 级联删除(DELETE CASCADE)

Oracle外键中使用级联删除,ON CASCADE DELETE

oracle不修改constraint方法级联删除到触发器入门

今天遇到需要级联删除的情况,在网上找到 一些级联删除的办法,其中个人认为最简便的是使用触发器实现级联删除,因为普遍实现级联删除的做法都是修改constraint来达到目的的,这样稍微麻烦了一些。 一...

Oracle外键级联删除和级联更新

1 级联删除 Oracle在外键的删除上有NO ACTION(类似RESTRICT)、CASCADE和SET NULL三种行为。 下面以学生-班级为例说明不同情况下的外键删除,学生属于班级,班级的...

Oracle外键级联删除和级联更新

1 级联删除 Oracle在外键的删除上有NO ACTION(类似RESTRICT)、CASCADE和SET NULL三种行为。 下面以学生-班级为例说明不同情况下的外键删除,学生属于班级,班级的...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)