电脑技术吧

会员投稿 会员登录 会员注册 网站公告:
搜索: 您现在的位置主页 > SQL亚博ios下载地址 > 数据库 > 正文

触发器中的inserted表和deleted表介绍

作者:admin    文章来源:互联网 电脑技术吧     点击数:    更新时间:2011-09-27
收藏】 【挑错】 【推荐】 【打印

触发器语句中使用了两种特殊的表:deleted  表和  inserted  表。Microsoft®  SQLServer  2000 自动创建和管理这些表。可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件;然而,不能直接对表中的数据进行更改。 

inserted  和  deleted  表主要用于触发器中: 

扩展表间引用完整性。 

在以视图为基础的基表中插入或更新数据。 

检查错误并基于错误采取行动。 
 
找到数据修改前后表状态的差异,并基于此差异采取行动。 
Deleted  表用于存储  DELETE  和  UPDATE  语句所影响的行的复本。在执行  DELETE  或  UPDATE  语句时,行从触发器表中删除,并传输到  deleted  表中。Deleted  表和触发器表通常没有相同的行。 

Inserted  表用于存储  INSERT  和  UPDATE  语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到  inserted  表和触发器表中。Inserted  表中的行是触发器表中新行的副本。 

本文来自织梦


更新事务类似于在删除之后执行插入;首先旧行被复制到  deleted  表中,然后新行被复制到触发器表和  inserted  表中。 

在设置触发器条件时,应当为引发触发器的操作恰当使用  inserted  和  deleted  表。虽然在测试  INSERT  时引用  deleted  表或在测试  DELETE  时引用  inserted  表不会引起任何错误,但是在这种情形下这些触发器测试表中不会包含任何行。 

说明  如果触发器操作取决于一个数据修改所影响的行数,应该为多行数据修改(基于  SELECT  语句的  INSERT、DELETE  或 

织梦内容管理系统

copyright dedecms
发表评论 请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:密码:新注册匿名
评论总数: [ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 在线帮助