我们一般都认为TRUNCATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列. 如果你在事务中进行TRUNCATE操作,就能回滚.反之,它就不会从日志文件文件恢复数据.它不会在日志文件中记录删除的那些数据,它只在日志中记录数据页的单元分配. 下面的例子就能解释上面的所说的. USE temp_test_database GO --创建一个临时表 CREATE TABLE TruncateTabel(ID INT) INSERT INTO TruncateTabel(ID)…
语法:ROLLBACK [ WORK ] 下面的语句会报错 ALTER TABLE code DROP s_name; INSERT INTO code (s_name, f_name) VALUES ('D','Diamond'); ERROR: s_name is not defined. 回滚 修复破损的伤口 ROLLBACK WORK; 再来 ALTER TABLE code drop s_name; INSERT INTO code (f_name) VALUES ('Diamond'…