您的位置:首页 > 博客中心 > 数据库 >

MySQL触发器详解

时间:2022-03-06 17:37

MySQL触发器

触发器是特殊的存储过程。不同的是,触发器不需要手动调用。只要当预定义的事件发生时,会被MySQL自动调用。主要用于满足复杂业务的规则和需求。

一、创建触发器

1、创建只有一个执行语句的触发器,语法如下:

CREATE TRIGGER trigger_name trigger_time trigger_event
ON tab_name FOR EACH ROW trigger_stmt

其中,trigger_name是标识触发器名称。trigger_time指定触发时机,可以指定before或after。trigger_event标识触发事件,包括INSERT、UPDATE、和DELETE;tab_name标识建立触发器的表名,即在哪张表上建立触发器。trigger_stmt是触发器执行的语句。

例:

CREATE TABLE account (acct_num int, amount DECIMAL(10,2));
CREATE TRIGGER ins_sum BEFORE INSERT on account
   FOR EACH ROW SET @sum = @sum + NEW.amount;

首先创建一个表account。在向表插入数据前,计算所有新插入的account表的amount值和。

说明:在MySQL中用oldnew表示执行前和执行后的数据,oldnew在oracle中表示执行前的行,和执行后的行。

本类排行

今日推荐

热门手游