SQL Server中TRUNCATE事务回滚操作方法

  • 时间:2018-06-15 21:15 编辑:强子 来源:源码家 阅读:862
  • 扫一扫,手机访问
摘要:本文介绍在事务中回滚TRUNCATE操作的方法,并演示了操作的结果,是可以对TRUNCATE进行回滚操作的。
本文介绍在事务中回滚TRUNCATE操作的方法,并演示了操作的结果,是可以对TRUNCATE进行回滚操作的。

我们一般都认为TRUNCATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列。

如果你在事务中进行TRUNCATE操作,就能回滚。反之,它就不会从日志文件文件恢复数据。它不会在日志文件中记录删除的那些数据,它只在日志中记录数据页的单元分配。

下面的例子就能解释上面的所说的.        

复制代码 代码如下:USE temp_test_database
GO
--创建一个临时表
CREATE TABLE TruncateTabel(ID INT)
INSERT INTO TruncateTabel(ID)
SELECT 1
UNION ALL
SELECT 2
UNION ALL
SELECT 3
GO

复制代码 代码如下:--检查插入的数据
SELECT * FROM TruncateTabel

如图:

//files.jb51.net/file_images/article/201605/2016521175337862.png

开始执行事务

复制代码 代码如下:
--开始事务
BEGIN TRAN
TRUNCATE TABLE TruncateTabel
GO
--回滚之前检查TruncateTable
SELECT * FROM TruncateTabel
GO

F5执行,如图:

//files.jb51.net/file_images/article/201605/2016521175353725.png

执行回滚事务

复制代码 代码如下:--回滚事务
ROLLBACK TRAN
GO

再次检查表TruncateTable

复制代码 代码如下:--回滚之后再次检查TruncateTable
SELECT * FROM TruncateTabel
GO

F5执行,如图:
//files.jb51.net/file_images/article/201605/2016521175401458.png

总结一下,事务是可以对TRUNCATE操作进行回滚的。

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【网站运营|网络赚钱】互联网广告模式你知道多少(2018-11-28 19:21)
【网站运营|网络赚钱】短视频如何赚钱 短视频自媒体实操经验分享+真实(2018-11-28 19:17)
【源码编程|PHP编程】PHP实现微信商户支付企业付款到零钱功能 教程(2018-11-27 10:46)
【源码编程|PHP编程】phpstudy2018升级MySQL5.5为5.7(图文)教程(2018-11-27 10:43)
【数据库|Mysql】Windows mysql 8.0.12安装配置方法图文教程(2018-11-27 10:41)
【数据库|Mysql】mysql 解压版通过历史data目录恢复数据的教程图解(2018-11-27 10:39)
【网站运营|建站经验】新手开发网站 注意事项(2018-11-27 10:36)
【网站运营|】如何正确 设计404错误页面(2018-11-27 10:33)
【网站运营|建站经验】百度、360、搜狗、神马搜索 中国搜索引擎排行(2018-11-27 10:28)
【源码编程|mssql2005】win2003 Server配置SQL Server 2005远程连接的方法(2018-06-15 21:15)
联系我们
Q Q:40020598
邮箱:40020598@qq.com
时间:09:00 - 19:00
联系客服
客服 客服 售后 投诉 联系客服
400 20598
手机版

扫一扫进手机版
返回顶部