黑马程序员 SqlServer触发器

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------------------------------------------


触发器的分类
1.DML触发器
(1)after触发器,在执行insert,update,delete语句操作后,执行after触发器,指定after与指定for相同,after触发器只能应用于表。


(2)instead of 触发器。执行instead of触发器,代替通常的触发动作。如可以为视图定义instead of触发器,则这些触发器能够扩展视图可支持的更新类型。
     instead of触发器的主要优点是可以使不能更新的视图支持更新。基于多个表的视图必须使用instead of触发器来支持引用多个表中数据的插入、更新、和删除操作。


(3)CLR触发器。CLR触发器可以是after触发器或instead of触发器。CLR触发器还可以是DDL触发器。CLR触发器将执行在托管代码(在Microsoft.net framework 中创建并在SQL Server中上载的程序集的成员)中编写的方法,而不用执行T-SQL存储过程。


2.DDL触发器
像常规触发器一样,DDL 触发器将激发存储过程以响应事件。但与 DML 触发器不同的是,它们不会为响应针对表或视图的 UPDATE、INSERT 或 DELETE 语句而激发。相反,它们将为了响应各种数据定义语言 (DDL) 事件而激发。这些事件主要与以关键字 CREATE、ALTER 和 DROP 开头的 Transact-SQL 语句对应。执行 DDL 式操作的系统存储过程也可以激发 DDL 触发器。


DDL 触发器可用于管理任务,例如审核和控制数据库操作。


如果要执行以下操作,请使用 DDL 触发器:


要防止对数据库架构进行某些更改。




希望数据库中发生某种情况以响应数据库架构中的更改。




要记录数据库架构中的更改或事件。




仅在运行触发 DDL 触发器的 DDL 语句后,DDL 触发器才会激发。DDL 触发器无法作为 INSTEAD OF 触发器使用。





ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net

阅读更多
个人分类: 数据库
想对作者说点什么? 我来说一句

Sqlserver触发器例子

2011年07月27日 40KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭