點降sql server冇commit 制?

execute 錯sql 係唔係冇得roll back?

本帖最後由 kok10958 於 2016-5-7 20:01 編輯

附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

sql server冇預你咁玩法
正如樓上所講, 可以自己寫transaction , 做Commit or Rollback

TOP

你用邊套sql server先
mssql? mysql/mariadb?  oracle db?
不過無論任何一套, 想有得rollback都要事前begin transaction

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

你用邊套sql server先
mssql? mysql/mariadb?  oracle db?
不過無論任何一套, 想有得rollback都要事 ...
KinChungE 發表於 2016-5-7 21:50



    microsoft sql server,
    我用oracle sql developer , 你行完D sql, 想禁一次commit, 先代表save左入db, 但你sql server 就冇

TOP

回覆 5# toylet


    唔記得落where clause

TOP

點解錯先? 寫錯嘢? 咁成個 IT 部 咩....
toylet 發表於 2016-5-8 00:31

試過返工第一日就叫我用sql改價錢
一個唔小心無落where......
全部貨品連IPHONE都只係售$1688

TOP

See example:
  1. USE AdventureWorks;
  2. GO
  3. BEGIN TRANSACTION;

  4. BEGIN TRY
  5.     -- Generate a constraint violation error.
  6.     DELETE FROM Production.Product
  7.     WHERE ProductID = 980;
  8. END TRY
  9. BEGIN CATCH
  10.     SELECT
  11.         ERROR_NUMBER() AS ErrorNumber
  12.         ,ERROR_SEVERITY() AS ErrorSeverity
  13.         ,ERROR_STATE() AS ErrorState
  14.         ,ERROR_PROCEDURE() AS ErrorProcedure
  15.         ,ERROR_LINE() AS ErrorLine
  16.         ,ERROR_MESSAGE() AS ErrorMessage;

  17.     IF @@TRANCOUNT > 0
  18.         ROLLBACK TRANSACTION;
  19. END CATCH;

  20. IF @@TRANCOUNT > 0
  21.     COMMIT TRANSACTION;
  22. GO
複製代碼
Source: http://stackoverflow.com/questio ... r-management-studio

TOP

試過返工第一日就叫我用sql改價錢
一個唔小心無落where......
全部貨品連IPHONE都只係售$1688 ...
henrietta 發表於 8-5-2016 10:45



    咁正 你唔應該轉工啦.....

TOP