触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。CREATE TRIGGER语法CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 触发程序与命名为tbl_name的表相关。 trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。 trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。 trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一: ·INSERT:将新行插入表时激活触发程序 ·UPDATE:更改某一行时激活触发程序 ·DELETE:从表中删除某一行时激活触发程序 trigger_stmt是当触发程序激活时执行的语句。如果你打算执行多个语句,可使用BEGIN MySQL数据库创建触发器的格式如下:
create trigger<触发器名称>:创建一个新触发器,并指定触发器的名称。 { before | after}:用于指定在insert、update或delete语句执行前触发还是在语句执行后触发。 on <表名>:用于指定响应该触发器的表名。 for each row:触发器的执行间隔,for each row通知触发器每隔一行执行一次动作,而不是对整个表执行一次。 <触发器SQL语句>:触发器要执行的SQL语句,如果该触发器要执行多条SQL语句,要将多条语句放在begin…end块中。 实例: (1): 在“命令提示符”下创建数据表test1 CREATE TABLE `test1`( `id` int(11) NOT NULLAUTO_INCREMENT, `name` varchar(20) NOTNULL ) (2): 再创建数据表test2 CREATE TABLE `test2`( `num` int(11) DEFAULTNULL, ) (3):创建触发器 create trigger `num` BEFORE INSERT on `test1` for each row update test2 set num = num + 1; 向test1表插入数据,test2表中的num就加一 (4): INSERT INTO test1 (name) VALUES ('aa'); (5):查看test1和test2表中的数据 DROP TRIGGER语法 DROP TRIGGER [schema_name.]trigger_name 舍弃触发程序。方案名称(schema_name)是可选的。如果省略了schema(方案),将从当前方案中舍弃触发程序。 DROP TRIGGER test.num 注意: 使用OLD和NEW关键字,能够访问受触发程序影响的行中的列(OLD和NEW不区分大小写)。在INSERT触发程序中,仅能使用NEW.col_name,没有旧行。在DELETE触发程序中,仅能使用OLD.col_name,没有新行。在UPDATE触发程序中,可以使用OLD.col_name来引用更新前的某一行的列,也能使用NEW.col_name来引用更新后的行中的列。 用OLD命名的列是只读的。你可以引用它,但不能更改它。对于用NEW命名的列,如果具有SELECT权限,可引用它。在BEFORE触发程序中,如果你具有UPDATE权限,可使用“SETNEW.col_name =value”更改它的值。这意味着,你可以使用触发程序来更改将要插入到新行中的值,或用于更新行的值。 在BEFORE触发程序中,AUTO_INCREMENT列的NEW值为0,不是实际插入新记录时将自动生成的序列号。 更多查看手册! |
MySql触发器以及实例 数据库触发器实例
更多阅读
VB数据库操作实例 javs匿名函数
VB数据库操作实例VB数据库操作实例——工具/原料 VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这
oracle如何创建数据库 oracle数据库创建实例
oracle如何创建数据库——简介我们这里所说的创建是用图形化的界面来创建数据库的。oracle如何创建数据库——工具/原料oracle软件电脑oracle如何创建数据库——方法/步骤oracle如何创建数据库 1、从Windows桌面执行“开始”→“
Zmud机器人制作--基础知识,技巧以及实例讲解终极篇上 fanuc机器人编程实例
中级篇第五章 buttons﹑系统变量﹑function5.1 button按钮(buttons)是很实用的一个功能,不光应用于半自动的机器人让游戏过程更加便捷,也用于全自动机器人,让人为修改某些变量更加简单.按钮有3个要素:Caption,Commands(zmud721中这个要
物质的跨膜运输及其实例 物质跨膜运输
物质的跨膜运输及其实例人民教育出版社 课程教材研究所 吴成军摘要:本文介绍了物质跨膜运输的各种方式,对载体的种类和作用,供能的方式以及水分子、葡萄糖分子、Na+和K+等物质的跨膜方式进行了分析和介绍,并对高中教学中的相关疑问进
基于端口划分VLAN实例 端口划分vlan
通过本实训可以学习到:基于端口划分VLAN的方法;查看VLAN划分情况。基于端口划分VLAN实例——工具/原料1台Cisco1912交换机4台PC机,4条双绞线1台带有超级终端程序的PC机,以及Console电缆及转接器。基于端口划分VLAN实例——步骤/方