首頁 >資料庫 >mysql教程 >Mysql中触发器的使用

Mysql中触发器的使用

WBOY
WBOY原創
2016-06-07 14:50:381100瀏覽

概念 触发器是一种特殊的事务,它监听增删改操作,并触发增删改操作。主要是用来处理一些比较复杂的业务逻辑以保证数据的联动性。其包含了四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/d

概念

触发器是一种特殊的事务,它监听增删改操作,并触发增删改操作。主要是用来处理一些比较复杂的业务逻辑以保证数据的联动性。其包含了四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)

语法

<code class=" hljs sql">
<span class="hljs-operator"><span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TRIGGER</span> <span class="hljs-string">'触发器名称'</span> <span class="hljs-string">'触发时间(after|before)'</span> <span class="hljs-string">'监听的事情(insert|update|delete) '</span>
<span class="hljs-keyword">ON</span> <span class="hljs-string">'触发地点'</span> <span class="hljs-keyword">FOR</span> <span class="hljs-keyword">EACH</span> <span class="hljs-keyword">ROW</span> 
<span class="hljs-keyword">BEGIN</span>
  sql1;</span>
  sql2;
  sql3;
<span class="hljs-operator"><span class="hljs-keyword">END</span>$</span></code>

FOR EACH ROW 用来标识触发器的类型,因为Mysql支持行级别的触发器,不支持语句触发器,故只能使用FOR EACH ROW 。因为触发器中使用’;’区分多个事件语句,故需要重新定义定界符。

实例

修改定界符为$
这里写图片描述
创建触发器
这里写图片描述
查看触发器
这里写图片描述
执行操作之前
t4表数据如下
这里写图片描述
t3表数据如下
这里写图片描述
执行相应的操作之后
这里写图片描述

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn