CREATE TRIGGER trigger1
AFTER insert ON AAA
FOR EACH ROW
BEGIN
insert INTO BBB
(a, b, c, d)
values substr
('this\is\a\test', 1, instr('this\is\a\test', '\', 1, 1) - 1),
substr
('this\is\a\test',
instr('this\is\a\test', '\', -1, 3) + 1,
instr('this\is\a\test', '\', -1, 2) -
(instr('this\is\a\test', '\', -1, 3) + 1)),
(substr('this\is\a\test',
instr('this\is\a\test', '\', -1, 2) + 1,
instr('this\is\a\test', '\', -1, 1) -
(instr('this\is\a\test', '\', -1, 2) + 1)),
substr(NEW :aa, instr(NEW :aa, '\', -1, 1) + 1, length(NEW :aa)))
END
触发器是一个特殊的存储过程,存储过程是需要手动调用的,而触发器是程序自动出发的,比如在对某张表进行删除 *** 作前执行触发器。可以设置在增删除 *** 作前或者之后执行。下面就创建一个小例子。方法/步骤
确认mysql服务开启。
连接mysql。
进入到相应的数据库,并查看相应表的数据。
创建触发器,当在向表t_user插入之前,向表user插入数据。
插入一条语句。
6
查看触发器是否执行。
1、先创建一个空的person_log表用来存放被删除的记录。2、创建一个触发器del_person,执行删除 *** 作后将记录插入到person_log表。
触发器person_log
3、从person表中执行删除记录 *** 作来触发事件
4、查看person_log表结果:
结果:从person表执行删除一条记录后会触发person_log表中增加被删除的记录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)