举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > OceanBase TRANSACTION

OceanBase TRANSACTION

2023-06-14 21:20

 OceanBase TRANSACTION

描述

该语句用于开启事务。

数据库事务(Database Transaction)是指作为单个逻辑工作单元执行的一系列操作。事务处理可以用来维护数据库的完整性,保证成批的 SQL 操作全部执行或全部不执行。

显示事务是用户自定义或用户指定的事务。通过BEGIN TRANSACTION,或BEGINBEGIN WORK(被作为 START TRANSACTION的别名受到支持)语句显示开始,以COMMITROLLBACK语句显示结束。

格式

transaction_stmt:
      START TRANSACTION [READ ONLY | READ WRITE];
    | BEGIN [WORK];
    | COMMIT [WORK];
    | ROLLBACK [WORK];
    | SET TRANSACTION {READ ONLY | READ WRITE};

参数解释

参数

描述

START TRANSACTION [READ ONLY | READ WRITE]

开启事务语句。一旦开启事务,则随后的 SQL 数据操作语句(即INSERTUPDATEDELETE等)直到显式提交时才会生效。

READ ONLY 子句表示事务是只读方式开启,事务内不允许执行修改操作。

READ WRITE 子句表示事务是读写方式开启,默认就是此种模式。

BEGIN

BEGIN 和 BEGIN WORK 被作为 START TRANSACTION 的别名受到支持

COMMIT

提交当前事务。

ROLLBACK

回滚当前事务。

SET TRANSACTION {READ ONLY | READ WRITE}

将当前事务设置成READ ONLY或者READ WRITE模式。

示例

假设现有表 a 如下所示。

id

name

num

sell_date

1

a

100

2013-06-21 10:06:43

2

b

200

2013-06-21 13:07:21

3

a

50

2013-06-21 13:08:15

CREATE TABLE a (id INT,name VARCHAR(10),num INT,sell_date DATE);
INSERT INTO a VALUES (1, 'a',100,'2013-06-21 10:06:43');

INSERT INTO a VALUES (2, 'b',200,'2013-06-21 13:07:21');
INSERT INTO a VALUES (3, 'a',50,'2013-06-21 13:08:15');
  1. 依次执行以下命令开始执行事务,将 id 为 3 的的 name 改为 c,并插入一行当前卖出 a 的记录。

  2. obclient> START TRANSACTION;
    Query OK, 0 rows affected (0.00 sec)
    
    obclient> UPDATE a SET name = 'c' WHERE id = 3;
    Query OK, 1 rows affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    obclient> INSERT INTO a VALUES (4, 'a', 30, '2013-06-21 16:09:13');
    Query OK, 1 rows affected (0.00 sec)
    
    obclient> COMMIT;
    Query OK, 0 rows affected (0.00 sec)
  3. 事务提交后,执行命令查看表 a 信息。

obclient>SELECT * FROM a;

结果如下:

id

na

num

sell_date

1

a

100

2013-06-21 10:06:43

2

b

200

2013-06-21 13:07:21

3

c

50

2013-06-21 13:08:15

4

a

30

2013-06-21 16:09:13

注意 
在事务还没有 COMMIT 之前,您可以查看下本事务中的操作是否已经生效,比如可以在 COMMIT 前,加一句 SELECT * FROM a; 。本事务 Session 的访问能读到最新的结果,本事务 Session 之外的访问结果肯定是没有生效,在事务还没有 COMMIT 前,你之前做的操作除当前事务连接之外都是不可见的。如果您想回滚该事务,直接用 ROOLBACK 代替 COMMIT 。


阅读全文
以上是名动网为你收集整理的 OceanBase TRANSACTION全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • oceanbase developer center OceanBase 帮助中心

    oceanbase developer center OceanBase 帮助中心

    2023-05-01

    在 OceanBase 开发者中心(OceanBase Developer Center,ODC)首页右上角的帮助中心,您可以浏览帮助文档、下载产品手册并在关于...

  • 日期函数数据库 OceanBase 日期时间函数

    日期函数数据库 OceanBase 日期时间函数

    2023-04-15

    日期时间函数主要用来显示有关日期和时间的信息。CURDATE声明CURDATE()说明返回当前日期,不含时间部分。例子obclient SELECT...

  •  Moralis Web3API.storage (IPFS)

    Moralis Web3API.storage (IPFS)

    2023-05-30

    uploadFolder(新)上传多个文件并将它们放在一个文件夹目录中。返回路径(异步)。选项:​abi​(必需):支持JSON和Base64的...

  • 权限模式 Moralis 权限

    权限模式 Moralis 权限

    2023-06-07

    快速开发Moralis针对快速开发进行了优化。我们希望您能够快速取得出色的成果。因此,默认设置非常宽松,您需要确保在投入生产之...

  • moralitry Moralis 简介

    moralitry Moralis 简介

    2023-05-01

    该手册仅供技术学习,挖矿以及虚拟货币交易属于违法行为!!!Moralis是什么?想想加密的​​Firebase​​。​Moralis​为区块链...

© 2024 名动网 mdwl.vip 版权所有 联系我们