TPL(事务处理语言)

TPL(事务处理语言)

【事务 Transaction】

 

1. 概念

 作为一个单独单元的一条或者多条SQL语句组成

 这个单元的每一条SQL语句都是相互依赖的

 必须每一条SQL语句都成功的执行, 才可以说这个事务成功的执行了

 如果有一条语句执行出错, 那么整个事务就会回滚

 回到事务开始以前的状态

 

 

 转账

 A给B转100元

 

 余额表

 用户名 余额

 A 100

 B 50

 

 A-100 B-50

 UPDATE 余额表 SET 余额 = 余额 - 100 WHERE 用户名 = 'A';

 A-0 B-50

 UPDATE 余额表 SET 余额 = 余额 + 100 WHERE 用户名 = 'B';

 A-0 B-150

 

2. 事务的特点 ACID:

 原子性(Atomicity):

  事务的多条SQL语句是一个不可分割的完整逻辑单元

 

 一致性(Consistency):

  事务中的每条SQL语句要么都是成功执行的, 要么都失败了

  如果一个事务成功执行了, 那么里面的每一条SQL语句都成功执行了

  如果一个事务失败了, 那么里面的每一条SQL语句都失败了

 

 隔离性(Isolation)

  不同的事务是相互隔离的

  不同的事务相互访问的时候

  得到的数据要么是事务发生以前的数据

  要么是事务发生以后的数据

 

 

 持久性(Durability)

  一旦事务完成提交, 对数据的修改就是永久的

 

 

3. 操作

 打开事务 START TRANSACTION;

 保存到S1 SAVEPOINT s1;

设定一个节点

 

 回滚到S1, ROLLBACK TO s1;

回到s1节点,然后继续执行ROLLBACK TO s1后面的语句!

 回滚 ROLLBACK;

回到开头,然后继续执行ROLLBACK后面的语句!

 

 提交 COMMIT;

猜你喜欢

转载自blog.csdn.net/qq_36194262/article/details/82940946