/* Trigger是作用在表上,或是数据库上,或是用户上。当用户在表上(其他)做某些操作时,trigger将会自己执行。 可以在表上:insert,update,delete Trigger只对表的写入,修改、删除。 */ /* 语法 CREATE [OR REPLACE] TRIGGER trigger名称 { BEFORE | AFTER | INSTEAD OF } – 在什么之前,或是在什么之后,用有具体的表上 – Instend of 替换用在view上面trigger ON - 添加到什么什么上面 { someTable} - 触发器作用在某个表上 [ for each row] – 行级触发器 } [WHEN (条件,当什么时间触发下面的代码) ] Declare --.. Begin ... End; */ --向一个表stud中写入数据,要求在后台输出一句:你写入成功了 create table tigger_t ( id int, name varchar(30) ); --修改表名 --rename old to new; alter table TIGGER_T rename to trigger_t; --还可以create 。。。。as select * ... --drop 原来表名 --创建触发器 create or replace trigger t1 after insert on trigger_t declare begin dbms_output.put_line('写入成功'); end; --测试 set serveroutput on; insert into trigger_t values(1,'jack'); commit; --创建删除时的触发器 create or replace trigger t1 after delete on trigger_t--表级触发器,删除多少行只只能高兴一次plsql for each row--行级,没行都会执行 declare begin dbms_output.put_line('删除成功'); end; set serveroutput on; delete from trigger_t; commit; select * from trigger_t;