CREATE TRIGGER my_trigger --定義一個觸發(fā)器my―trigger BEFORE INSERT or UPDATE of TID,TNAME on TEACHERS FOR each row WHEN(new.TNAME='David') --這一部分是觸發(fā)條件 DECLARE --下面這一部分是觸發(fā)體 teacher_id TEACHERS.TID%TYPE; INSERT_EXIST_TEACHER EXCEPTION; BEGIN SELECT TID INTO teacher_id FROM TEACHERS WHERE TNAME=new.TNAME; RAISE INSERT_EXIST_TEACHER; EXCEPTION --異常處理也可用在這里 WHEN INSERT_EXIST_TEACHER THEN INSERT INTO ERROR(TID,ERR) VALUES(teacher_id,'the teacher already exists!'); END my triqqer;
3.執(zhí)行觸發(fā)器 自動執(zhí)行
復(fù)制代碼 代碼如下:
CREATE TRIGGER my_trigger1 AFTER INSERT or UPDATE or DELETE on TEACHERS FOR each row; DECLARE info CHAR(10); BEGIN IF inserting THEN --如果進行插入操作 info:='INSERT'; ELSIF updating THEN --如果進行修改操作 info:='Update'; ELSE--如果進行刪除操作 info:='Delete'; END IF; INSERT INTO SQL_INFO VALUES(info); --記錄這次操作信息 END my_trigger1;