您的位置 首页 国产IC

创立与运用触发器

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

触发器简介

触发器(TRIGGER)是由事情来触发某个操作。这些事情包含INSERT句子、UPDATE句子和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创立有多个履行句子的触发器

创立与运用触发器

比如:

DELIMITER | 数据库句子 | 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 from t_test where old.bookTypeId = t_test.id;

end

|

DELIMITER ;

DELETE FROM t_book WHERE id=5;

三、检查触发器

3.1SHOWTRIGGERS 句子检查触发器信息

SHOW TRIGGERS;

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

DROP TRIGGER trig_book2 ;

触发器完成原理

创立与运用触发器

上图具体解说了,当操作表进行刺进、删去、更新时触发器针对暂时表inserted和deleted的操作。并留意最一句话:触发器履行屡次但只会保存最终一次成果!!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/108645.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部