事务的好处在于,当你需要对多个表进行相关性操作时,使用BeginTrans()开启事务,然后操作,如果中间哪个表更新出错了,或者数据有问题,你可以用RollBack()方法在取消之前的相关性操作,如果没有错,那就使用Commit()方法提交你的修改。另外,在这个过程中,所有你改动的内容只对你自己有效,别人不能知道你改了什么,也不能对你正在改的表做修改,直到你提交之后,别人才能修改这些表,检索出你修改过的内容。
会保证数据的一致性,要成功都成功,要失败都失败.但是SQL中用事务有可能会导致堵塞数据库进程,要慎用.
会保证数据的一致性,要成功都成功,要失败都失败.但是SQL中用事务有可能会导致堵塞数据库进程,要慎用.
回答者: s529586
完全正确!
保证数据的一致性。
如:转账,A向B转账。A存款,1000;B存款100
如果有一个约束,账户里的余额必须>0
现在开始转账
update 表名 set 金额=金额+1000 where 姓名=B
update 表名 set 金额=金额-1000 where 姓名= A
这个时候,A转账后,账户余额,已经=0,违反了约束,所以 针对ASQL语句,错误。不会执行。那么A的账户余额还是1000,但是B的SQL语句不违反任何约束,会照样执行,所以B的账户会增加1000元。这样,数据就错了
所以这里需要事物,要么两条语句,一起提交。要么两条语句一起不提交。