惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
博客园_首页
S
SegmentFault 最新的问题
罗磊的独立博客
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
D
Docker
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
V
V2EX
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
腾讯CDC
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
Vercel News
Vercel News
H
Help Net Security
博客园 - Franky
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏

博客园 - 梅子黄时雨

离职反思 人际交往能力:远比你想象的重要 关于晋升 生产力提升计划 向企业一样的思考 在CentOS上搭建WordPress的博客系统 Some Useful LINQ Extension Methods MVC模式 IIS7.5配置 An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. C# 整数和byte数组互换 显式接口成员实现 C#实现的堆栈 ASP.NET 验证控件 Gridview中合并单元格,某字段的内容相同时如何只显示一个,屏蔽相同列或行的内容(转) C#winform 配置webconfig 动态SQL EXEC DELL 1520 笔记本拆机 华为致新员工书
关于表变量
梅子黄时雨 · 2011-08-23 · via 博客园 - 梅子黄时雨

1、表变量和临时表一样,当表足够小且SQLServer有足够的内存时,表变量的页驻留在缓存中。

2、表变量的范围是明确定义的,它的范围被定义在当前级别的当前批处理范围内,与其他变量一样。

3、表变量不是外部事物的组成部分。相反,它的事务被限制到语句级别以支持语句回滚。如果修改表变量的语句失败,则该语句的更改会被撤销。但是如果语句是外部事务的一部分,外部事务回滚后,对表变量已经完成的更改将不可撤销。

    假如要编写一个审核触发器,以审核对一些表的更改。如果满足一些逻辑条件,你希望能回滚这些更改,但你还是希望能审核这些更改尝试。如果你从inserted或deleted复制数据到审核表中,触发器中的回滚也会撤销这些操作。如果你先回滚这些更改然后尝试审核它们,这是deleted和inserted已经为空。

    要解决这个问题,先从inserted或deleted把数据复制到表变量中,再执行回滚操作,然后在触发器的新事务中把数据从表变量复制到审核表中。没有别的更简单的解决方案了。