日期:2014-05-18  浏览次数:20424 次

请教一个菜鸟问题.
今天看了一点SQL基础事务控制.

可能我脑袋不是很好,看了2,3次不是太明白.

问题:
1.事务控制只要是争对什么?
2.事务处理是不是对每个表都可以多重次插入还是??
只想到这问题.其余的还没想到.想到再补充.

各位大侠...

------解决方案--------------------


事务这一概念的提出是为了处理某些情况,在这些情况中数据库的结果状态取决于一系列操作是否全部成功。之所以这样,是因为后面的操作可能会修改先前操作的结果。在这些情况下,如果任意一个操作失败,结果状态将不确定。

为解决这一问题,事务以一种最终结果的完整性可以得到保障的方式将系列操作进行分组。或者所有的操作必须成功,然后提交(写入数据库),或者整个事务失败。取消事务称为回滚。回滚允许恢复所做的更改,将数据库返回至事务前状态。

例如,在一次自动银行事务中,如果将一笔款从 A 帐户转入 B 帐户,则从 A 帐户取款和存入 B 帐户都必须成功才能正确处理该笔款项,否则整个事务必定失败。

事务必须具有 ACID 属性,它代表以下意思:

原子性 事务是工作的原子单元,它的执行是一次性的,要么所有工作都完成,要么都没有完成。

一致性 事务保持数据的一致性,把数据的一种一致状态转换为另一种一致状态。必须在语义上保留事务绑定的数据。

隔离 事务是一个隔离单元,并发事务中的每个事务在发生时都相互分离,彼此独立。一个事务决不应看到另一事务的中间阶段。

持久性 事务是一个恢复单元。如果事务成功,其更新就保持,即使系统发生故障或者关闭也如此。如果事务失败,则系统保持提交该事务前的状态。
------解决方案--------------------
[Quote=引用:]
引用:
1.事务控制只要是争对什么?
用事务是为了用它的一致性,隔离性,原子性,要么执行,要么回滚
2.事务处理是不是对每个表都可以多重次插入还是??
?这个是什么意思?

[code=SQL][/code]---begin transaction new_account
---insert bills values('linwan', 45, ……
[/Quote]

 不同的表当然可以同时插入
------解决方案--------------------
探讨
引用:
事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务。

原子性

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

一致性

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的……