oracle级联删除触发器,oracle级联删除 触发器

这篇博客介绍了如何在SQL中创建学生表和班级表,并通过触发器实现当删除班级时,相应班级的学生信息也随之被删除的功能。示例包括CREATE TABLE语句、INSERT INTO操作以及CREATE TRIGGER用于定义触发器,最后演示了删除班级表中某一行记录时,学生表中对应班级的学生记录也会被删除的过程。
摘要由CSDN通过智能技术生成

CREATE TABLE STUDENT( --创建学生表

ID NUMBER(10) PRIMARY KEY,   --主键ID

SNAME VARCHAR2(20),

CLASSNAME VARCHAR2(20) --班级ID

);

INSERT INTO STUDENT VALUES(1,‘Tom‘,1);

INSERT INTO STUDENT VALUES(2,‘Jack‘,1);

INSERT INTO STUDENT VALUES(3,‘Bay‘,2);

INSERT INTO STUDENT VALUES(4,‘John‘,3);

CREATE TABLE CLASSTAB(  --创建班级表

CLASSID NUMBER(2) PRIMARY KEY,  --班级ID

CNAME VARCHAR2(20)

);

INSERT INTO CLASSTAB VALUES(1,‘3G‘);

INSERT INTO CLASSTAB VALUES(2,‘SVSE‘);

INSERT INTO CLASSTAB VALUES(3,‘GIS‘);

INSERT INTO CLASSTAB VALUES(4,‘EM‘);

--创建触发器  删除班级时  将该班级的所有学生信息也删除

CREATE OR REPLACE TRIGGER MYTRIGGER

AFTER DELETE

ON CLASSTAB

FOR EACH ROW

BEGIN

DELETE FROM STUDENT WHERE CLASSNAME = :old.CLASSID;

END;

DELETE FROM CLASSTAB WHERE CLASSID = 2;  删除班级表中CLASSID为2的班级  学生表的第三条记录也会被删除

原文:http://www.cnblogs.com/wenjie123/p/4522417.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值