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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM