您的位置:首页 > 数据库 > MySQL

mysql触发器

2016-10-08 17:52 417 查看
1:什么是触发器 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。触发器有一个非常好的特性就是:触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的数据修改。2:触发器(trigger):监视某种情况,并触发某种操作。触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete)3.触发时间(after/before) 4.触发事件(insert/update/delete)3:触发器语法:1:创建Mysql触发器CREATE TRIGGER trigger_name trigger_time trigger_event ONtbl_name    FOR EACH ROW    BEGIN    trigger_stmt    END;    CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN trigger_stmt END;大写的为关键字    trigger_name:Mysql触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:触发器标识,name:英文名,tableName:表名,    b(BEFORE):标识是触发事件之前,    a(AFTER):标识触发事件之后,    i(insert): 标识insert事件,    u(update):标识update事件,    d(delete):标识delete事件;    trigger_time:触发时间(BEFORE或AFTER)    trigger_event:事件名(insert或update或delete)    tbl_name:表名(必须是永久性表)    trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。  2、删除Mysql解发器    语法:    DROP TRIGGER [schema_name.]trigger_name;    注意:以上操作均需SUPER权限  4:触发器的优缺点触发器的优点:以事件方式来处理. 当数据发生变化的时候, 自动作处理.
缺点: 当数据库之间 导出导入的时候, 可能会引起不必要的触发逻辑.
存贮速度和执行速度: 代码是存储在服务器上, 执行速度主要取决于 数据库服务器的性能与触发器代码的复杂程度。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: