/*
同一表使用所有条件
Create or replace trigger t5
Before insert,delete,update on 表名
For each row
//plsql块
*/
/*
在触发器中,还有三个变量:都是boolean
INSERTING 正在执行insert吗。
DELETING
UPDATING
*/
select TABLE_NAME from USER_TABLES;
select*from trigger_t2;
desc trigger_t2;
createorreplacetrigger t4
before INSERTORUPDATEordeleteon trigger_t2
FOR EACH ROW
declarebeginif inserting then
dbms_output.put_line(‘写入‘);
elsif deleting then
dbms_output.put_line(‘删除‘);
else
dbms_output.put_line(‘更新‘);
endif;
end;
---测试set serveroutput on;
insertinto trigger_t2 values(1,‘jk‘,23);
deletefrom trigger_t2 where id=1;
update trigger_t2 set name=‘kk‘;
---------------------------------------------------
---------------------------------------------------
--使用when语句设置条件createorreplacetrigger t5
before INSERTon trigger_t2
FOR EACH ROW
when (NEW.age<=18)
declarebegin
DBMS_OUTPUT.PUT_LINE(‘大于20是:‘||:NEW.age);
RAISE_APPLICATION_ERROR(-20000, ‘年龄小于18不能参与‘);
end;
set serveroutput on;
INSERTINTO TRIGGER_T2 VALUES(4,‘KK‘,22);
/*
--禁用trigger
alter trigger t4 disable;
alter trigger t4 enable;
--修改名称
alter trigger t4 rename to t5;
*/
原文:http://www.cnblogs.com/xiaweifeng/p/3681377.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!