触发器小总_漆黑之牙_新浪博客

趁热要打铁,学习就是这样,激情来临的时候,就要尽情发泄!

前面我已经比较全面的介绍的存储过程,因此有了前面的基础再说触发器就简单很多了。

① 定义

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会xx它执行。触发器经常用于加强数据的完整性约束和业务规则等。

② 基本格式

  CREATE TRIGGER trigger_name

  ON { table | view }

  [ WITH ENCRYPTION ]

  {

  { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ DELETE ] [ UPDATE ] }

  [ WITH APPEND ]

  [ NOT FOR REPLICATION ]

  AS

  [ { IF UPDATE ( column )

  [ { AND | OR } UPDATE ( column ) ]

  [ ...n ]

  | IF ( COLUMNS_UPDATED ( ) updated_bitmask )

  column_bitmask [ ...n ]

  } ]

  sql_statement [ ...n ]

  }

  }

(具体参数说明上百度百科看吧。)

③ 内容

这里我要需要说明的就是关键字 AFTERINSTEAD OF

AFTER:执行完数据操作(增删改)语言后触发。FOR 关键字的作用效果与 AFTER 相同。

多用于主键与外键的链接。保证数据的完整性约束。

INSTEAD OF:代替数据操作(增删改),在操作语言执行前触发。

多用于在原操作基础上进行扩充。

需要注意的是,触发器针对的对象是表,因此一个表只能含有一个INSTEAD OF,但可以拥有多个AFTER。

其次是触发器的操作不同于存储过程,它是不可以被编程语言调用的,而存储过程却可以,即触发器是不对外透明的是被动的,它是在数据库设计前就已经编译好的内容。

已投稿到:
郑重声明:资讯 【触发器小总_漆黑之牙_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——