SQL事务概念是什么,举个例子说明什么样的东西是事务,与程序又有何区别,

SQL事务概念是什么,举个例子说明什么样的东西是事务,与程序又有何区别,,第1张

数据库事务是构成单一逻辑工作单元的 *** 作集合。

举例:转账是生活中常见的 *** 作,比如从A账户转账100元到B账号。站在用户角度而言,这是一个逻辑上的单一 *** 作,然而在数据库系统中,至少会分成两个步骤来完成:

1、将A账户的金额减少100元

2、将B账户的金额增加100元。

程序的区别:一个程序中包含多个事务。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

扩展资料:

事务必须具备四个属性,简称ACID属性:

1、原子性(Atomicity):事务是一个完整的 *** 作。事务的各步 *** 作是不可分的(原子的);要么都执行,要么都不执行。

2、一致性(Consistency):当事务完成时,数据必须处于一致状态。

3、隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。

4、永久性(Durability):事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性。

参考资料来源:百度百科-事务

事务的好处在于,当你需要对多个表进行相关性 *** 作时,使用BeginTrans()开启事务,然后 *** 作,如果中间哪个表更新出错了,或者数据有问题,你可以用RollBack()方法在取消之前的相关性 *** 作,如果没有错,那就使用Commit()方法提交你的修改。另外,在这个过程中,所有你改动的内容只对你自己有效,别人不能知道你改了什么,也不能对你正在改的表做修改,直到你提交之后,别人才能修改这些表,检索出你修改过的内容。

如果只对一个表 *** 作,可以采用adLockBatchOptimistic模式,即:

rs.open sql语句,连接,adOpenKeyset,adLockBatchOptimistic

更新的时候不需要事务处理,而是:

do while not rs.eof

rs.edit

rs.fields(...).value=...

rs.update

rs.movenext

loop

rs.updatebatch


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9580322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存