专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 关于事务控制语句大家是怎么理解的呢

关于事务控制语句大家是怎么理解的呢

更新时间:2023-02-07 15:38:06 来源:动力节点 浏览876次

数据库事务包含了数据库上的一系列操作,事务使得数据库从一个一致的状态转化到另一个一致的状态。通常事务中的 SQL 会包含 DML 语句,也会包含查询语句。如果一个事务中的 SQL 只有查询语句,这个事务通常称为只读事务。

事务控制语句

事务在没有提交之前,可以使用 ROLLBACK 命令回滚事务

事务控制语句

基本的事务控制语句有:

BEGIN:显式开启一个事务。此语句在使用过程中可选:

租户会话的参数 autocommit 值设置为 0 时,表示关闭事务自动提交功能,不需要显式发出 BEGIN 命令来标识多个 SQL 组成一个事务。。

租户会话的参数 autocommit 值设置为 1 时,表示开启事务自动提交功能,该模式下,每条 SQL 都是一个独立的事务。如果要多个 SQL 组成一个事务,可以通过 BEGIN 命令显式开启一个事务,同时会禁用事务自动提交功能,直到执行 COMMIT 或 ROLLBACK 语句,才会恢复到自动提交模式。

SAVEPOINT:可以在事务过程中标记一个"保存点",事务可以事后选择回滚到这个保存点上。保存点是可选的,一个事务过程中也可以设置多个保存点。

COMMIT:提交并结束当前事务,让事务所有修改持久化并生效,清除所有保存点和释放事务持有的锁。

ROLLBACK:回滚整个事务已做的修改或者只回滚某个保存点之后事务已做的修改,清除回滚部分包含的所有保存点和释放事务持有的锁。

在 obclient 命令环境下,可以在 SQL 提示符后发起事务控制命令,也可以修改会话级别的 autocommit 参数来控制事务是否自动提交。

通过 SET autocommit 设置变量时,当前会话立即生效,断开链接之后被设置的变量会失效。

通过 SET GLOBAL autocommit 设置租户级别的变量时,需要断开链接才生效。

以上就是动力节点小编介绍的"关于事务控制语句大家是怎么理解的呢",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>