mysql------触发器
来源:互联网 发布:论语地位知乎 编辑:程序博客网 时间:2024/05/17 01:55
1、创建触发器
触发器是个特殊的存储过程,触发器不需要用call调用,会自动调用,触发器可以查询其他表,而且可以包含复杂的sql语句。
(1)创建只有一个执行语句的触发器
trigger_time:触发时机,可以为before或after;
trigger_event:触发事件,包括insert、update、delete;
tbl_name:触发器的表名,即在哪张表建立触发器;
trigger_stmt:触发器的程序体,可以用begin和end作为开始和结束。
例1:创建一个单执行语句的触发器
语法:CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
trigger_name:触发器名称;trigger_time:触发时机,可以为before或after;
trigger_event:触发事件,包括insert、update、delete;
tbl_name:触发器的表名,即在哪张表建立触发器;
trigger_stmt:触发器的程序体,可以用begin和end作为开始和结束。
例1:创建一个单执行语句的触发器
Mysql>create table tb_account(acct_num int ,amount decimal(10,2));Mysql>create trigger ins_sum before insert tb_account for each row set @sum=@sum+NEW.amount;Mysql>set @sum=0;Mysql>insert into tb_account values(1,1.00),(2,2.00);Mysql>select @sum;
表示触发条件是向数据表tb_account插入数据前,对新插入的amount字段进行求和计算,最后@sum的值为3.00
2、查看触发器
(1)SHOW TRIGGERS语句查看触发器信息
语法:SHOW TRIGGERS \G
(2)在triggers表中查看触发器信息
在MySQL中所有触发器的定义都存在INFORMATION_SCHEMA数据库的TRIGGERS表格中,可以通过查询命令SELECT来查看。
语法:SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE condition;
3、触发器的使用
触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。在某些触发程序的用法中,可用于检查插入到表中的值,或对更新涉及的值进行计算。INSERT、DELETE或UPDATE
例1:当向tb_emp表插入数据后会自动向tb_dept表插入一条记录
create trigger trig_insert after insert on tb_emp for each row insert into tb_dept values(4,’lin’);
4、删除触发器
使用DROPTRIGGER语句可以删除MySQL中已经定义的触发器。
语法:DROP TRIGGER [schema_name.]trigger_name例1:删除test数据库的ins触发器
drop triggers test.ins;
转载请注明出处:http://blog.csdn.net/linshuxin111/
0 0
- 【mysql 触发器】触发器使用
- MYSQL 触发器
- mysql 触发器
- Mysql 触发器
- mysql 触发器
- mysql触发器
- MYSQL 触发器
- MySQL触发器
- mysql 触发器
- mysql触发器
- MYSQL 触发器
- mysql 触发器
- mysql 触发器
- MySQL触发器
- MYSQL触发器
- mysql触发器
- mysql触发器
- mysql触发器
- 54.59. Spiral Matrix
- 关于事件拦截机制-自己的理解
- java基础——多线程——多线程面试题
- gcc编译器
- 【微信开发】-发送位置获取周边信息及生成百度全景静态图API,主要代码在private function receiveLocation($object)
- mysql------触发器
- @wsgify装饰器
- halcon 窗口导入MFC PICTURECONTROL里
- 数据结构和算法分析java--优先队列(堆实现)
- 浏览器传递中文,服务器接收出现乱码
- “/r/n”回车与换行
- 安卓蓝牙框架汇总
- hdu5919Sequence II
- cardView使用