SQL事务begintran、committran、rollbacktran的⽤法completed是什么意思
⾸先理解⼀下这三个事务的⼤概意思:
beirutbegin Transaction 可以理解成新建⼀个还原点。
mhj
commit Transaction 提交这个⾃begin tran开始的修改leonardcohen
rollback Transaction 表⽰还原到上个还原点。cboe
今天在更新⼀个ERP仓库名称的时候导致该界⾯⼀直属于Locking 状态,还以为开发商修改了什么东西,原来是⾃⼰在执⾏update的时候导致的,太糊涂了。
当时update仓库语句是这样写:
shuttlecock
begin tran
update ,,,,,,,
执⾏成功后就没有管了,过⼀会打开ERP该界⾯,卡死,⽆响应,重复登录⼏次还是⼀样,这时才想起来刚才执⾏了update语句,赶紧执⾏:rollback tran 语句,提⽰:
在点击ERP界⾯正常显⽰,松了⼀⼝⽓,因为begin tran 时没有跟commit tran ⼀起执⾏导致界⾯locking,但是说来有点怪,我记得以前⽤SMSS 执⾏update的时候也没有加commit tran,为什么在Toad for SQL srever 执⾏的时候会发⽣界⾯locking呢?检讨中。。。
james goldstein
菲律宾台风海燕--t xact_abort on 整体回滚所有语句
--t xact_abort off 只回滚出错语句
begin tran
出国留学必备条件update,,,,,
新加坡大学排名commit tran
t xact_abort on 和 rollback Transaction 结果⼀样,都是回滚所有。
⼀般把DML语句(lect ,delete,update,inrt语句)放在COMMIT TRAN 之间作为⼀个事务处理
也就是那些语句执⾏过程中如果遇到错误,⽆论哪句遇到错误,所有语句都会回滚到BEGIN TRAN之前的状态。