Oracle学习——事务处理语句(TCL)
本文将会介绍什么是事务处理语言。
事务:作为单个逻辑单元执行的一系列操作,要么完全地执行,要么完全地不执行(如果有一部分执行成功但是另一部分没有成功,则会撤销之前所有成功的操作)。事务主要是控制DML语言(增删改)
1、事务的特性
1.1、原子性
事务中的操作要么都不做,要么就全做。
1.2、 一致性
一个事务应该保护所有定义在数据上不变的属性(例如完整性约束)。在完成一个成功的事务时,数据应处于一致的状态。
1.3、隔离性
一个事务的执行不能被其他事务干扰。
1.4、持久性
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
2、事务语句
- commit:事务提交(确认DML操作)
- rollback:事务回滚(撤销DML操作)
- savepoint:设置回滚点
2.1、事务类型
显式事务:需要我们手动执行commit的操作,DML语句中所有的操作都是显式事务操作。
隐式事务:数据库自动执行commit,不需要做任何处理,同时也不具备有回滚性。DDL(数据库定义语言)、DCL(数据控制)这些操作。
2.2、事务提交(commit)
当我们执行了一个DML语句后,需要使用commit语句进行确认提交。
2.3、事务回滚(rollback)
执行DML语句后,可以使用rollback来讲缓存中的事务操作回滚。
2.4、设置回滚点(savepoint)
在执行DML操作之后,可以使用 savepoint 名字 来设定一个回滚点,之后使用 rollback to 名字 就可以回滚到设定的回滚点处,该回滚点之后的所有事务都会被撤销,只保留该回滚点前的事务。此时再commit只会提交该回滚点前的事务被提交。
以上内容如有错误,恳请指正