WEB开发网
开发学院数据库MSSQL Server 浅谈SQL Server 数据库之触发器 阅读

浅谈SQL Server 数据库之触发器

 2010-02-26 00:00:00 来源:WEB开发网   
核心提示:触发器的特征:1、触发器是在对表进行增、删、改时,自动执行的存储过程,浅谈SQL Server 数据库之触发器,触发器常用于强制业务规则,它是一种高级约束,通过“级联引用完整性约束”可以更有效地执行这些更改,b、防止恶意或错误的 INSERT、UPDATE 以及 DELETE 操作,通过事件进行

触发器的特征:

1、触发器是在对表进行增、删、改时,自动执行的存储过程。触发器常用于强制业务规则,它是一种高级约束,通过事件进行触发而被执行。

2、触发器是一个特殊的事务单元,可以引用其他表中的列执行特殊的业务规则或数据逻辑关系。当出现错误时,可以执行rollback transaction操作将整个触发器以及触发它的T-SQL语句一并回滚(不需显示声明begin transaction)。

3、每个触发器将用到的两个临时表:

deleted 临时表:用于临时存放被删除的记录行副本(包括delete和update语句所影响的数据行);

注意:被删除的记录行,首先从原始表中删除,并保存到触发器表。然后从触发器表中删除,再保存到deleted表。

inserted临时表:用于临时存放插入的记录行副本(包括insert和update语句所影响的数据行);

deleted表和inserted表的特征:

> 这两个表的表结构与该触发器作用的表相同;

> 这两个表是逻辑表,并且由系统管理;

> 这两个表是动态驻留在内存中的(不是存储在数据库中),当触发器工作完成后,它们也被删除;

> 这两个表是只读的,即只能运用select语句查看(用户不能直接更改);

4、所创建的触发器(insert、delete、update)是在原表数据行已经修改完成后再触发。所以,触发器是在约束检查之后才执行。

什么时候使用触发器?

a、实现主外键关系所不能保证的复杂参照完整性和数据的一致性。

不过,通过“级联引用完整性约束”可以更有效地执行这些更改。

b、防止恶意或错误的 INSERT、UPDATE 以及 DELETE 操作,并强制执行比 CHECK 约束定义的限制更为复杂的其他限制。

1 2 3 4 5 6  下一页

Tags:SQL Server 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接