当前位置:嗨网首页>书籍在线阅读

05-触发器的使用

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

触发器执行的语句有以下两个限制。

触发程序不能调用将数据返回客户端的存储程序,也不能使用采用CALL语句的动态SQL 语句,但是允许存储程序通过参数将数据返回触发程序。也就是存储过程或者函数通过OUT或者INOUT类型的参数将数据返回触发器是可以的,但是不能调用直接返回数据的过程。

不能在触发器中使用以显式或隐式方式开始或结束事务的语句,如 START TRANS-ACTION、COMMIT或ROLLBACK。

MySQL的触发器是按照BEFORE触发器、 行操作、 AFTER触发器的顺序执行的,其中任何一步操作发生错误都不会继续执行剩下的操作。如果是对事务表进行的操作,那么会整个作为一个事务被回滚(Rollback),但是如果是对非事务表进行的操作,那么已经更新的记录将无法回滚,这也是设计触发器的时候需要注意的问题 。