事务简述
数据库事务是指对数据库的一个操作系列,这些操作要么都执行,要么都不执行,它是一个不可分割的操作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。事务的提出主要是为了解决,在并发情况下保持数据一致性的问题。
事务的4个基本特征:
● Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。
● Consistency(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。
● Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。
● Durability(持久性):事务结束后,事务处理的结果必须能够得到固化。
事务语句
开始事物:BEGIN TRANSACTION
提交事物:COMMIT TRANSACTION
回滚事务:ROLLBACK TRANSACTION
事务与程序
事务是用户定义的一个数据库操作序列,这些操作要么全部提交执行,要么失败后全部回滚至原始状态。例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。
在程序中,事务实现形式就是将普通的SQL语句嵌入到Begin Transaction…Commit Transaction中,如果SQL语句执行失败需使用RollBack Transaction回滚事务,即撤销操作。