标签:create insert update 关键字 触发器
创建触发器:
create [or replace] trigger trigger_name
before|after
event1 [ or event2 or event3 …]
on table_name [for each row]
begin
statement;
…
end;
event通常是insert、delete或update等DML操作
说明:
For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次;
触发器分为语句级触发器和行级触发器
语句级触发器是指每执行一条DML语句,该触发器就执行一次
行级触发器是指每个DML操作影响几条记录,就会触发几次(for each row)
行级触发器中由于涉及到了每条记录的数据变动,所以对于每条记录的数据来说就有新值和旧值之分
关键字:
:NEW 和:OLD使用方法和意义,
new 只出现在insert和update时,old只出现在update和delete时。在insert时new表示新插入的行数据,update时new表示要替换的新数据、
old表示要被更改的原来的数据行,delete时old表示要被删除的数据。
查看触发器:
show triggers;
在trggers表中查看触发器信息
select * from infomation_schema triggers where 条件;
删除触发器:
drop trigger [schema_name.]trigger_name;
标签:create insert update 关键字 触发器
原文地址:http://qidai.blog.51cto.com/6435621/1835037