MySQL触发器

2009-12-10 15:05:38 作者:allniu 来源:www.allniu.com 浏览次数:0 网友评论 0

触发器在数据库系统开发过程中具有非常重要的作用,例如可以防止有害数据录入数据库,可以改变或取消insert、update和delete语句的执行及在一个会话中监听数据库中的数据的改变。

触发器在数据库系统开发过程中具有非常重要的作用,例如可以防止有害数据录入数据库,可以改变或取消insert、update和delete语句的执行及在一个会话中监听数据库中的数据的改变。

实例263:创建触发器

这是一个创建触发器的实例
录像位置:光盘\mingrisoft\09\263

实例说明

如果用户打算在数据库中通过触发器实现某一动作的监听,那么首先应该创建触发器,触发器是在“命令提示符”下创建的,如图9.16所示。

图9.16  触发器创建过程

技术要点

MySQL数据库创建触发器的格式如下:

create trigger <触发器名称>
{ before | after}
{insert | update | delete}
on <表名>
for each row
<触发器SQL语句>    

create trigger <触发器名称>:创建一个新触发器,并指定触发器的名称。
{ before | after}:用于指定在insert、update或delete语句执行前触发还是在语句执行后触发。
on <表名>:用于指定响应该触发器的表名。
for each row:触发器的执行间隔,for each row 通知触发器每隔一行执行一次动作,而不是对整个表执行一次。
<触发器SQL语句>:触发器要执行的SQL语句,如果该触发器要执行多条SQL语句,要将多条语句放在begin…end块中。

 

实现过程

(1)在“命令提示符”下创建数据表tb_test。代码如下:

create table tb_test(t_id varchar(20),t_name varchar(20)) 

(2)将换行标记转换为“//”。代码如下:
delimiter // 

(3)创建触发器,实现无论用户向表tb_test添加什么数据都使字段t_name的内容为“mrsoft”。代码如下:
create trigger test_tri
before insert on tb_test
for each row
set new.t_name='mrsoft'   

(4)向表tb_test添加一条记录,并查看添加后的结果。代码如下:
insert into tb_test(t_id,t_name) values('mr0001', '123')//
select * from tb_test  

关键词:触发器

[错误报告] [收藏] [打印] [关闭] [返回顶部]

最新图片文章

最新文章