码迷,mamicode.com
首页 > 数据库 > 详细

Sql Server系列:触发器

时间:2014-11-27 20:18:29      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   使用   sp   for   strong   on   

  触发器的一些常见用途:

  ◊ 强制参照完整性

  ◊ 常见审计跟踪(Audit Trails):这意味着写出的记录不仅跟踪大多数当前的数据,还包括对每个记录进行实际修改的历史数据。

  ◊ 创建与CHECK约束类似的功能:与CHECK约束不同,这种功能可以跨表、跨数据库甚至是跨服务器使用。

  ◊ 用自己的语句代替用户的操作语句:常用于启动复杂视图的插入操作。

1. 触发器的概念

  触发器是一种特殊类型的存储过程,对特定事件作出响应。触发器有两种类型:数据定义语言触发器和数据操作语言触发器。

  数据定义语言(Data Definition Language,DDL)触发器在用户以某些方式(CERATE、ALTER、DROP)对数据库结构进行修改时激活而作出响应。在对数据库结构的改变或历史进行极为严格的审计时才会使用DDL触发器。

  数据操作语言(Data Manipulation Language,DML)触发器是一些附加在特定表或视图上的代码片段。与需要显示调用的存储过程不同,只要有附加触发器的事件在表中发生,触发器中的代码就好自动运行。实际上也不能显式调用触发器,唯一的做法是在指定的表中执行所需的操作。

  触发器的类型:

  ◊ INSERT触发器

  ◊ DELETE触发器

  ◊ UPDATE触发器

  ◊ 以上任意类型的混合

2. 创建触发器

  创建触发器语法:

CREATE TRIGGER [ schema_name . ]trigger_name 
ON { table | view } 
[ WITH <dml_trigger_option> [ ,...n ] ]
{ FOR | AFTER | INSTEAD OF } 
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } 
[ WITH APPEND ]
[ NOT FOR REPLICATION ] 
AS { sql_statement  [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > }

<dml_trigger_option> ::=
    [ ENCRYPTION ]
    [ EXECUTE AS Clause ]

<method_specifier> ::= 
    assembly_name.class_name.method_name

 

Sql Server系列:触发器

标签:style   blog   io   color   使用   sp   for   strong   on   

原文地址:http://www.cnblogs.com/libingql/p/4127006.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!