作者: mingming123 時間: 2016-5-7 18:49 標題: 點降sql server冇commit 制?
execute 錯sql 係唔係冇得roll back?
作者: kok10958 時間: 2016-5-7 19:44
本帖最後由 kok10958 於 2016-5-7 20:01 編輯
[attach]1887266[/attach]
作者: yjfoeg 時間: 2016-5-7 20:04
sql server冇預你咁玩法
正如樓上所講, 可以自己寫transaction , 做Commit or Rollback
作者: KinChungE 時間: 2016-5-7 21:50
你用邊套sql server先
mssql? mysql/mariadb? oracle db?
不過無論任何一套, 想有得rollback都要事前begin transaction
作者: toylet 時間: 2016-5-8 00:31
提示: 作者被禁止或刪除 內容自動屏蔽
作者: mingming123 時間: 2016-5-8 08:18
你用邊套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 就冇
作者: mingming123 時間: 2016-5-8 08:19
回覆 5# toylet
唔記得落where clause
作者: henrietta 時間: 2016-5-8 10:45
試過返工第一日就叫我用sql改價錢
一個唔小心無落where......
全部貨品連IPHONE都只係售$1688
作者: hongkong_netcop 時間: 2016-5-8 10:57
See example:
- USE AdventureWorks;
- GO
- BEGIN TRANSACTION;
- BEGIN TRY
- -- Generate a constraint violation error.
- DELETE FROM Production.Product
- WHERE ProductID = 980;
- END TRY
- BEGIN CATCH
- SELECT
- ERROR_NUMBER() AS ErrorNumber
- ,ERROR_SEVERITY() AS ErrorSeverity
- ,ERROR_STATE() AS ErrorState
- ,ERROR_PROCEDURE() AS ErrorProcedure
- ,ERROR_LINE() AS ErrorLine
- ,ERROR_MESSAGE() AS ErrorMessage;
- IF @@TRANCOUNT > 0
- ROLLBACK TRANSACTION;
- END CATCH;
- IF @@TRANCOUNT > 0
- COMMIT TRANSACTION;
- GO
作者: dvd-rw 時間: 2016-5-8 12:54
咁正
你唔應該轉工啦.....作者: alexwang 時間: 2016-5-9 16:29
SQL Server都可以行commit先寫落DB, 只係M$唔suggest咁做
因為... 有bug

