SQL Server 执行脚本语句后撤销回滚
SQL Server 执行后撤销
事务 Begin transaction,且执行了Update后还未commit transaction,可以用rollback transaction来回滚和撤销
=========================
先启动一个事务
BEGIN TRANSACTION --启动一个事务
UPDATE TABLENAME SET XXXXX WHERE XXXX
SELECT * FROM TABLENAME --查看结果
--如果发现有问题就执行这个语句:
ROLLBACK TRANSACTION
--没问题就迅速执行这个语句:
COMMIT TRANSACTION
这些都要先写好了,执行完成后要迅速执行事务提交或回滚语句,以免启动事务影响其它人对更改过的表的访问。
=========================
SQL Server服务器,一直处于所谓的自动提交模式,而且这种模式是默认的。
由于操作数据库批量修改数据出错的话,修复数据是相当的痛苦,如果没有备份的情况下,那有可能就是灭顶之灾了。
---该命令关闭SQL Server的自动提交模式
SET IMPLICIT_TRANSACTIONS ON
---开始一个事务,该命令可要可不要。(默认是开始一个事务)
Begin TRANSACTION;
---查询表中数据
select * from SysBpmIProc where TaskId = 245692;
--对数据进行修改
update SysBpmIProc set FlowCatName = '其他部门' where TaskId = 245692;
--修改的数据准确无误的话就提交事务
Commit TRANSACTION
--修改的数据有毛病的话就进行回滚
Rollback TRANSACTION
---打开SQL Server的自动提交模式
SET IMPLICIT_TRANSACTIONS OFF
个人认为在SQL Server上批量修改数据时建一个事务,如果操作不当可以回滚。
如果平常修改单行数据没必要关闭自动提交模式,只要做好备份,即使出错也可以很容易的修改过来。
=========================
REF
https://blog.csdn.net/weixin_42305304/article/details/80444858
http://blog.sina.com.cn/s/blog_46c5441f01015h9r.html