数据库对象之触发器(trigger)
是特定事件(Insert,Update,Delete)出现的时候,自动执行的代码块。
类似于存储过程,但是用户不能直接调用他们。
功能:
提供审计和日志记录
允许/限制对表的修改
保障数据一致性等等
语法:
CREATE TRIGGER 触发器名
{BEFORE | AFTER}
{DELETE |INSERT | UPDATE [OF 列名]}
ON 表名
[for each row]
begin
语句块
end;
小例子:
当有人动了userss表,那么在userss_log表中自动记录日志
create trigger trig1
after
delete
on userss
for each row
begin
insert into userss_log values(0, concat('有人删除了userss表的数据',now()));
end;
练习:
创建一个触发器,实现当从userss表中删除一条数据时,向userss_copy备份表中记录删除的数据内容
感兴趣的小伙伴们可以做做