1、什么是事务
事务就是需要在同一个处理单元中执行的一系列更新处理的集合。
2、创建事务
--postgreSQL
BEGIN TRANSACTION;
UPDATE product
SET sale_price=sale_price-1000
WHERE product_name='运动';
UPDATE product
SET sale_price=sale_price+1000
WHERE prodcut_name='体血';
COMMIT;
3、COMMIT-提交处理
commit是提交事务包含的全部更新处理的结束指令,相当于文件处理中的覆盖保存。一旦提交,就无法恢复到事务开始前的状态了。因此,在提交之前一定要确认是否真的需要进行这些更新。
4、ROLLBACK-取消处理
ROLLBACK是取消事务包含的全部更新处理的结束指令,相当于文件处理中的放弃保存。一旦回滚,数据库就会恢复到事务开始之前的状态。
BEGIN TRANSACTION;
UPDATE product
SET sale_price=sale_price-1000
WHERE product_name='运动';
UPDATE product
SET sale_price=sale_price+1000
WHERE prodcut_name='体血';
ROLLBACK;
5、ACID特性
- 原子性
原子性是指在事务结束时,其中包含的更新处理要么全部执行,要么完全不执行,也就是要么占有一切要么一无所有。 - 一致性(完整性)
一致性指的是事务中包含的处理要满足数据库提前设置的约束。 - 隔离性
隔离性指的是保证不同事务之间互不干扰的特性。 - 持久性
持久性也可以成为耐久性,指的是在事务结束后,DBMS能够保证该时间点的数据状态会被保存的特性。