1. 程式人生 > >SQL Server執行指令碼後怎麼回滾

SQL Server執行指令碼後怎麼回滾


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上批量修改資料時建一個事務,如果操作不當可以回滾。
  如果平常修改單行資料沒必要關閉自動提交模式,只要做好備份,即使出錯也可以很容易的修改過來。