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只会提交该回滚点前的事务被提交。

posted @ 2022-08-24 11:00  Circle_Wang  阅读(448)  评论(0编辑  收藏  举报