Oracle级联删除:可以使用外键约束来实现,建立表的主外键关系,给列设置级联删除。如下:

——创建了CLASS表,并设置ID字段为主键。

-- Create table
create table CLASS
(
ID VARCHAR2(2) not null,
CLASS_NAME VARCHAR2(20)
)
alter table CLASS
add constraint PK_CLASS primary key (ID)

——创建了STUDENTS表,并设置ID字段为主键,CLASS_ID为外键且有级联删除。

-- Create table
create table STUDENTS
(
ID VARCHAR2(4) not null,
CLASS_ID VARCHAR2(2) not null,
STU_NAME VARCHAR2(20),
STU_AGE NUMBER
) alter table STUDENTS
add constraint PK_STU primary key (ID) alter table STUDENTS
add constraint FK_STU foreign key (CLASS_ID)
references CLASS (ID) on delete cascade;

这样删除了班级ID,所属的学生都会被删除。(转自https://www.cnblogs.com/milo-xie/archive/2011/07/17/2108939.html)

级联更新:只能使用触发器来实现,如下:

--首先创建实例表book和type
create table type(
tid number(4) primary key,
tname varchar2(10) not null
)
/
create table book(
bid number(4) primary key,
bname varchar2(20) not null,
tid number(4),
)
/
--建立外键约束
alter table book add constraint book_type foreign key(tid) references type(tid);
--插入测试数据
insert into type values(1,'历史');
insert into type values(2,'文学');
insert into book values(1,'红楼梦',2);
insert into book values(2,'西游记',2);
select * from type;
select * from book;
--创建级联更新触发器
create or replace trigger tri_type
after update of tid on type
for each row
begin
if(:old.tid<>:new.tid) then
update book set tid=:new.tid where tid=:old.tid;
end if;
end;
--进行更新操作,测试触发器是否起作用
update type set tid=3 where tid=2;

(转自http://blog.sina.com.cn/s/blog_8e5087d10102wgh6.html)

最新文章

  1. Mac通过终端显示和隐藏 隐藏文件
  2. Linux_RPM_查询
  3. mxnet环境搭建随记
  4. JVM的classloader(转)
  5. SA 的参数
  6. 跨平台网络库(采用C++ 11)
  7. css3学习笔记之按钮
  8. 配置ASP.NET Nhibernate
  9. SQL复制表及表结构
  10. ListBox控件例子
  11. JVM学习(1)——通过实例总结Java虚拟机的运行机制(转)
  12. Appium移动自动化测试(五)--app控件获取之uiautomatorviewer
  13. OpenShift实战(七):OpenShift定制镜像S2I
  14. java之Spring(AOP)前奏-动态代理设计模式(上)
  15. 前端项目中常用es6知识总结 -- 箭头函数及this指向、尾调用优化
  16. RN 各种小问题
  17. JavaScript frame跨域获取元素、修改元素属性、调用其他frame页面方法
  18. Android.os.SystemClock
  19. List 循环删除 指定元素的 方法
  20. npm包

热门文章

  1. How to use NSRequest in Delphi XE4
  2. Java 对称加密
  3. 安装Oracle数据库操作步骤
  4. vscode使用Markdown文档编写
  5. JUnit4学习
  6. 【ecmall】解决无法上传店铺logo和banner照片问题 (转)
  7. 开启mac terminal 命令/路径自动补全功能
  8. Python基础-变量作用域
  9. java多线程练习实例
  10. 杂项-公司:摩根大通百科-un