《数据库原理及应用-(SQLServer版)》唐国良蔡中民-第9章.ppt

《数据库原理及应用-(SQLServer版)》唐国良蔡中民-第9章.ppt

1、DML触发器分类 SQL Server 2008的DML触发器分为两类:After触发器和Instead Of触发器。Aftre触发器是在记录已经改变完成之后,才会被激活执行,它主要用于记录变更后的处理或检查,一旦发现错误,也可以用Rollback Transaction语句来回滚本次操作。Instead Of触发器一般用于取代原本的操作,在记录变更之前发生,它并不去执行原来的SQL语句里的操作,而去执行触发器本身所定义的操作。 2、DML触发器工作原理 在SQL Server 2008里,为每个DML触发器都定义了两个特殊的表,一个是插入表,一个是删除表。这两个表是建在数据库服务器的内存中的,是由系统管理的逻辑表,而不是真正存储在数据库中的物理表。对于这两个表,用户只有读取的权限,没有修改的权限。 这两个表的结构与触发器所在数据表的结构是完全一致的,当触发器的工作完成之后,这两个表也将会从内存中删除。 插入表里存放的是更新前的记录:对于插入记录操作来说,插入表里存放的是要插入的数据;对于更新记录操作来说,插入表里存放的是要更新的记录。 删除表里存放的是更新后的记录:对于更新记录操作来说,删除表里存放的是更新前的记录(更新完后即被删除);对于删除记录操作来说,删除表里存入的是被删除的旧记录。 After触发器是在记录更变完之后才被激活执行的。以删除记录为例:当SQL Serve

文档评论(0)

1亿VIP精品文档

相关文档