加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server 执行脚本语句后撤销回滚

发布时间:2023-05-05 12:59:26 所属栏目:MsSql教程 来源:
导读:事务 Begin transaction,且执行了Update后还未commit transaction,可以用rollback transaction来回滚和撤销

先启动一个事务

BEGIN TRANSACTION --启动一个事务
UPDATE TABLENAME SET XXXXX WHERE XXXX
SEL
事务 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上批量修改数据时建一个事务,如果操作不当可以回滚。  
  如果平常修改单行数据没必要关闭自动提交模式,只要做好备份,即使出错也可以很容易的修改过来。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章