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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园 - 梅子黄时雨

离职反思 人际交往能力:远比你想象的重要 关于晋升 生产力提升计划 向企业一样的思考 在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把数据复制到表变量中,再执行回滚操作,然后在触发器的新事务中把数据从表变量复制到审核表中。没有别的更简单的解决方案了。