J*****u 发帖数: 44 | 1 MS SQL 在执行每一条Insert, Update, Delete都会起动Implicit Transaction. 意思
是说如果在执行中途有意外发生,就可以事务回滚,回到原始状态。但是什么情况下,
大家会在T-SQL里加上,Begin tran....Commit ? 这样不是多此一举? | s**********o 发帖数: 14359 | 2 Begin tran....Commit 可以把多个TRANSACTION放在一起,比如一个ORDER进来要
INSERT 10个TABLE,如果一个失败,全都ROLLBACK回去,可以避免半拉数据。
单个的TRAN也可以用
BEGIN TRAN
UPDATE...
先RUN上面,如果不是你要的结果,你可以ROLLBACK回去,如果是你的结果,RUN COMMIT
关闭TRANSACTION
你单独RUN一个
UPDATE..
是不能ROLLBACK的 | J*****u 发帖数: 44 | 3 学习,学习了!这样的话,实际begin tran应该用的很多啊。
COMMIT
【在 s**********o 的大作中提到】 : Begin tran....Commit 可以把多个TRANSACTION放在一起,比如一个ORDER进来要 : INSERT 10个TABLE,如果一个失败,全都ROLLBACK回去,可以避免半拉数据。 : 单个的TRAN也可以用 : BEGIN TRAN : UPDATE... : 先RUN上面,如果不是你要的结果,你可以ROLLBACK回去,如果是你的结果,RUN COMMIT : 关闭TRANSACTION : 你单独RUN一个 : UPDATE.. : 是不能ROLLBACK的
| l*****y 发帖数: 344 | |
|