首页 > 数据库技术 > 详细

oracle级联删除 触发器

时间:2015-05-22 16:48:39      阅读:251      评论:0      收藏:0      [点我收藏+]

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的班级  学生表的第三条记录也会被删除

oracle级联删除 触发器

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!