数据库事务
Posted sanzashu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库事务相关的知识,希望对你有一定的参考价值。
事务(transaction):是需要在同一个处理单元中执行的一系列更新处理的集合(INSERT/DELETE/UPDATE)
事务语法:
事务开始语句(START TRANSACTION):
DML语句1
DML语句1
DML语句1
...
事务结束语句(COMMIT或者ROLLBACK)
START TRANSACTION;
--运动T恤的销售单价下调1000日元
UPDATE Product
SET sale_price = sale_price - 1000
WHERE product_name = '运动T恤';
-- T恤的销售单价上浮1000日元
UPDATE Product
SET sale_price = sale_price + 1000
WHERE product_name = 'T恤';
COMMIT;
注:orcle和db2没有特定的开始语句
COMMIT:事务一旦提交就无法恢复到开始前的状态了
ROLLBACK:一旦回滚,数据库就会恢复到事务开始之前的状态
事务的四种特性:
- 原子性:事务结束时,其中包含的更新处理要么全部执行,要么全部不执行。
- 一致性(完整性):事务中包含的处理要满足数据库提前设置的约束,如主键约束或者not null约束。(违反约束会导致失败)
- 隔离性:保证不同的事物之间互不干扰。该特性保证了事物之前互相不嵌套,某个事物进行中的更改,在改事物结束之前,对其他事物而言是不可见的。没有提交之前,其他事物看不到新添加的记录。
- 持久性:事物结束后,DBMS能保证该时间点的数据转态会被保存的特性。
以上是关于数据库事务的主要内容,如果未能解决你的问题,请参考以下文章