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

  • 时间:2018-06-15 21:15 编辑:强子 来源:源码家 阅读:671
  • 扫一扫,手机访问
摘要:本文介绍在事务中回滚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)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【源码编程|mssql2005】win2003 Server配置SQL Server 2005远程连接的方法(2018-06-15 21:15)
【源码编程|mssql2005】SQLServer2005 没有服务器名称的两种解决方法(2018-06-15 21:15)
【源码编程|mssql2005】在WIN7下安装和配置SQL Server 2005 Express Edition(精简版)(2018-06-15 21:15)
【源码编程|mssql2005】Access 导入到SQL Server 2005的方法小结(2018-06-15 21:15)
【源码编程|mssql2005】SQL2005Express中导入ACCESS数据库的两种方法(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server 使用 SET FMTONLY ON 获得表的元数据(2018-06-15 21:15)
【源码编程|mssql2005】把CSV文件导入到SQL Server表中的方法(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server中TRUNCATE事务回滚操作方法(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server 2005恢复数据库详细图文教程(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server 移动系统数据库(2018-06-15 21:14)
底部广告
网站首页 | 关于我们 | 广告合作 | 联系我们 | 隐私条款 | 免责声明
CopyRight 2014-2024 【源码家】 | 豫ICP备17010181号
http://data.zz.baidu.com/urls?appid=1603174543536726&token=uJFuSTMaj1ItdzCx&type=realtime
展开