11.事务的概念
- 什么是事务?
事务:是用于保证数据一致性的一组DML(增删改)语句。
该组语句要么全部成功,要么全部失败,以此来保证数据一致性。例如:银行转账。 - 事务和锁
当执行事务作时(DML语句),oracle会在被操作的表上加锁,防止其他用户修改表的结构。这对用户是非常重要的。
锁:有文件锁、表级锁。 - 提交事务
commit; --提交事务,会确认事务变化、结束事物、删除保存点、释放锁。其他会话可以看到事务变化后的新数据。 - 回退事务
保存点 savepoint a; --事务中的一点,类似快照。
回退事务rollback to a; --回退事务到保存点a。
事务几个重要操作:
1)savepoint a; --设置保存点rollback;
2)rollback to a; --取消部分事务。
3)rollbak --取消全部事务。 - 只读事务
设置只读事务后,只允许查询此用户会话到此时点的数据,读取不到其他会话对数据库的DML(增删改)操作。
set transaction read only; --设置只读事务。