MySql——触发器

触发器

什么叫触发器:

就是mysql中的一种“一触即发”的机器(机制)。

其实只是预先定义好的一段代码。该段代码无需人工调用,而是会在‘预计’好的某个情形下自动执行。

通常就这几个情形:

对某个数据表的增(或删或改)之前(或之后)。 //每个表可见只有6种情形。

 

触发器内部也跟存储过程或存储函数一样,属于“编程环境”。

 

定义形式:

create  trigger  触发器名字  before(或after)  insert(或updatedelete)  on  表名 for  each  row

begin

要执行的代码,语句块,编程环境,但这里也不能使用select语句。

end

 

 

在触发器内部,其中有两个关键字具有特定含义和数据获取作用:

new:代表新插入的一条数据,在insert事件的时候有效。

old:代表旧的一条数据,在updatedelete的时候有效。

 

3个编程总结:

共同点:

可以使用普通变量;

可以使用流程控制结构;

他们其实都是“一段代码”而已,存储在数据库中。

存储函数:

需要返回一个数据值;

不能有select语句;

调用时直接当作一个“数据”来使用,即可以用于select或别的各种数据操作语句中。

存储过程:

不能返回数据

可以有select语句;

形参可以设定为数据的进出方向:inoutinout

调用是使用call语句。

触发器:

不能返回数据;

也不能有select语句;

也没有参数,也不能调用,而是在触发的情况下自动调用(执行)。

posted @ 2018-08-19 20:10  折枝粉黛绽诗三百  阅读(169)  评论(0编辑  收藏  举报