对于同一个事件的多个触发器,操作时究竟是哪一个触发器执行引起了变化

 我来答
zvhjho
2017-06-13 · TA获得超过569个赞
知道答主
回答量:348
采纳率:0%
帮助的人:150万
展开全部

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


注意:


一般情况下,MySQL默认是以“;”作为结束执行语句。在创建触发器过程中需要用到“;”。为了解决这个问题,可以用DELIMITER语句。如“DELIMITER

”,可以将结束符号变成“”。当触发器创建完成后,可以用命令“DELIMITER 

;”来将结束符号变成“;”。


实例


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


  1. 创建dept_trig2触发器的SQL代码如下:

  2. DELIMITER 

  3. CREATE TRIGGER dept_trig2 AFTER DELETE

  4. ON department FOR EACH ROW

  5. BEGIN

  6. INSERT INTO trigger_time VALUES('22:30:30');

  7. INSERT INTO trigger_time VALUES('23:50:50');

  8. END

DELIMITER ;


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


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


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


上图中代码执行的结果显示,删除操作执行成功。

3. 在department表中执行DELETE操作以后,trigger_time表中将会自动插入两条记录。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式