数据库的触发器

触发器是由INSERT、UPDATE 和 DELETE等事件来触发某种特定操作。满足触反益的触发条件时,数据库系统就会执行触发器中定义的程序语句。这样做可以保证呆些探作之间的一致性。例如,当学生表中增加了一个学生的信息时,字生的总数就必须回时以变。可以在这里创建一个触发器,每次增加一个学生的记录,就执行一次计算学生总数的操作。这样就可以保证每次增加学生的记录后,学生总数是与记录数是一致的。触发器触发的执行语句可能只有一个,也可能有多个。

创建触发器

//创建只有一个执行语句的触发器
CREATE  TRIGGER 触发器名  BEFORE | AFTER  触发事件 ON  表名 FOR  EACH  ROW  执行语句
cteate  trigger fept_trig1 before insert on table1 for each row insert into ttt values(now());

//创建有多个执行语句的触发器
DELIMITER &&

CREATE  TRIGGER 触发器名  BEFORE | AFTER  触发事件 ON  表名 FOR  EACH  ROW 
BEGIN  执行语句列表  END  && 

DELIMITER,一般SQL “;”结束,在创建多个语句执行的触发器时,要用到“;”,所以用DELIMETER来切换一下。

 

查看触发器

SHOW  TRIGGERS ;

SELECT  *  FROM  information_schema. triggers ;

触发器的使用

MySQL中,触发器执行的顺序是BEFORE触发器、表操作(INSERT、UPDATE 和DELETE)、AFTER触发器

触发器中不能包含START TRANSACTION, COMMIT,ROLLBACK,CALL等。

删除触发器

DROP TRIGGER  触发器名 ;

猜你喜欢

转载自blog.csdn.net/qq_41078889/article/details/112968833
今日推荐