SQL Server 执行脚本语句后撤销回滚
  TnD0WQEygW8e 2023年11月02日 19 0

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

http://blog.sina.com.cn/s/blog_46c5441f01015h9r.html

 



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
TnD0WQEygW8e