创建与使用触发器

    触发器   简介

触发器(TRIGGER)是由事件来触发某个操作。这些事件包括INSERT语句、UPDA     TE   语句和DELETE语句。当     数据库   系统执行这些事件时,会激活促发其执行相应的操作。

触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。

因此触发器不需要人为的去调用,也不能调用。

然后,触发器的触发条件其实在你定义的时候就已经设定好了。

这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。

详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。

具体举例:

1、 在一个表中定义的语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个就是删除表的操作就是触发器执行的条件了。

2、 在一个表中定义了行级的触发器,那当这个表中一行数据发生变化的时候,比如删除了一行记录,那触发器也会被自动执行了。

创建与使用触发器:

2.1创建只有一个执行语句的触发器

 创建与使用触发器_设计制作_电源/新能源

例:创建一个trig_book触发器,该触发器在表t_book插入一条数据后,对表t_bookType的bookNum数量对应的bookTypeId会自动加

1

create trigger trig_book after insert

on t_book for each row

update t_bookType set bookNum = bookNum+1 where new.bookTypeId = t_booktype.id;

INSERT INTO t_book VALUES(NULL,‘     java   好’,100,‘ke’,1);

t_book表:

 创建与使用触发器_设计制作_电源/新能源

t_bookType表:

 创建与使用触发器_设计制作_电源/新能源

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

 创建与使用触发器_设计制作_电源/新能源

例子:

DELI     MI   TER | 数据库语句 | DELIMITER;//告诉数据库这时一条语句内容

new old 触发的两个过度变量;new:新增一条语句的新增对象;old:删除一条语句的删除对象;

DELIMITER |

create trigger trig_book2 after delete

on t_book for each row

begin

update t_bookType set bookNum = bookNum-1 where old.bookTypeId=t_booktype.id;

insert into t_log values(null,NOW(),‘在book表里删除了一条数据’);

delete f     rom   t_test where old.bookTypeId = t_test.id;

end

|

DELIMITER ;

DELETE FROM t_book WHERE id=5;

三、查看触发器

3.1SHOWTRIGGE     RS   语句查看触发器信息

SHOW TRIGGERS;

3.2 在 triggers 表中查看触发器信息

DROP TRIGGER trig_book2 ;

触发器实现原理

 创建与使用触发器_设计制作_电源/新能源

上图详细解释了,当操作表进行插入、删除、更新时触发器针对临时表inserted和deleted的操作。并注意最一句话:触发器执行多次但只会保留最后一次结果!!

2
31
0
72

相关资讯

  1. 1、《轮到你了》将拍电影版,原田知世、田中圭回归主演2993
  2. 2、走进奔腾年代,看见《大江大河2》中的朵朵“浪花”1569
  3. 3、走辣眼睛路线两年,陈志朋带来了一部新片,女主是美丽的“嫦娥”107
  4. 4、《他在逆光中告白》大结局,与原著相比,有一处改动观众称很妙3082
  5. 5、超8亿,打破多项纪录4901
  6. 6、56岁关之琳近照曝光脸上没皱纹可腿上的青筋暴露了年纪1324
  7. 7、《幸福马上来》:等了11年的冯巩喜剧到底有没有让你失望?611
  8. 8、佟丽娅低调现身机场,穿出女王范的她自信十足,网友直呼仙气十足2340
  9. 9、56岁莫少聪近照,曾抛妻弃子拒认儿子,如今胖的认不出2101
  10. 10、《国家命运》将播两弹一星元老影像当“主演”4616
全部评论(0)
我也有话说
0
收藏
点赞
顶部