MySQL创建有多个执行语句的触发器

如题所述

BEGIN与END之间的“执行语句列表”参数表示需要执行的多个执行语句的内容。不同的执行语句之间用分号隔开。

注意:

一般情况下,MySQL默认是以“;”作为结束执行语句。在创建触发器过程中需要用到“;”。为了解决这个问题,可以用DELIMITER语句。如“DELIMITER
&&”,可以将结束符号变成“&&”。当触发器创建完成后,可以用命令“DELIMITER
;”来将结束符号变成“;”。

实例

创建一个由DELETE触发多个执行语句的触发器dept_trig2。

1. 创建dept_trig2触发器的SQL代码如下:
DELIMITER &&
CREATE TRIGGER dept_trig2 AFTER DELETE
ON department FOR EACH ROW
BEGIN
INSERT INTO trigger_time VALUES('22:30:30');
INSERT INTO trigger_time VALUES('23:50:50');
END
&&
DELIMITER ;

在DOS提示符窗口中查看创建dept_trig2触发器的操作效果。如下图所示:

上图中代码执行的结果显示,触发器创建成功。

2. 在department表中执行DELETE操作。如下图所示:

上图中代码执行的结果显示,删除操作执行成功。
3. 在department表中执行DELETE操作以后,trigger_time表中将会自动插入两条记录。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-08
delimiter //
CREATE TRIGGER test1 after delete ON A FOR EACH ROW
BEGIN
declare fe int;
set fe= OLD.a;
delete from b where b=fe;
insert into c values(fe);
END //本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网