触发器
-
介绍
-
触发器是与表有关的数据库对象,指在insert/update/delete之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库确保数据的完整性,日志记录,数据校验等操作。
-
使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持触发,不支持语句级触发器。
触发器类型 NEW和OLD insert型触发器 NEW表示将要或者已经新增的数据 update型触发器 old表示修改之前的数据,new表示将要货已经修改后的数据 delete型触发器 old表示将要或者已经删除的数据
-
-
语法
-
创建
create trigger trigger_name before/after insert/update/delete on tbl_name for each row --行级触发器 begin trigger_stmt; end;
-
查看
show triggers;
-
删除
drop trigger [schema_name.]trigger_name; --没有指定schema_name,默认为当前数据库。
-
-
举例
create trigger tb_stock_insert_trigger after insert on basedata for each row begin insert into basedata_logs(id, operation, operate_time, operate_id, operate_params) values (null,'insert',now(),NEW.stock_code,concat("插入内容为:股票编码:",NEW.stock_code,",股票名称:",NEW.stock_name,",类型:",NEW.stock_type)); end;