ITPub博客

首页 > 数据库 > > MemFireDB SQL语法 - COMMIT语句

MemFireDB SQL语法 - COMMIT语句

作者:飘絮絮絮丶 时间:2022-04-01 15:28:19 0 删除 编辑

COMMIT

概要

使用COMMIT语句提交当前事务。事务所做的所有更改对其他人都可见,并且如果发生崩溃,则保证是持久的。

语法

commit ::= COMMIT [ TRANSACTION  | WORK ] 

语义

COMMIT [ TRANSACTION | WORK  ]  

WORK 可选

TRANSACTION 可选 SERIALIZABLE隔离级别暂不支持

例子

创建一个名为sample的表。

CREATE TABLE sample(k1 int, k2 int, v1 int, v2 text, PRIMARY KEY (k1, k2)); 

在一个终端上创建一个事务并插入一些记录。

BEGIN TRANSACTION; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;INSERT INTO sample(k1, k2, v1, v2) VALUES (1, 2.0, 3,  'a'), (1, 3.0, 4, 'b');

在第二个终端上创建一个事务并插入一些记录。

BEGIN TRANSACTION; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;INSERT INTO sample(k1, k2, v1, v2) VALUES (2, 2.0, 3,  'a'), (2, 3.0, 4, 'b');

在第一个终端上查看结果。

SELECT * FROM sample; -- run in first shellk1 | k2 | v1 |  v2----+----+----+----1 | 2 | 3 | a1 | 3 | 4 | b(2 rows)

第二个终端上查看结果。

SELECT * FROM sample; -- run in second shellk1 | k2 | v1 |  v2----+----+----+----2 | 2 | 3 | a2 | 3 | 4 | b(2 rows)  

在第二个终端上提交事务。

COMMIT TRANSACTION; -- run in first shell.
复制

在第二个终端上终止事务。

ABORT TRANSACTION; -- run second shell. 

查看表中的记录。

SELECT * FROM sample; -- run in first shell.k1 | k2 | v1 |  v2----+----+----+----1 | 2 | 3 | a1 | 3 | 4 | b(2 rows) 

SELECT * FROM sample; -- run in second shell.k1 | k2 | v1 | v2----+----+----+----1 | 2 | 3 | a1 | 3 | 4 | b(2 rows)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3125955/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: HighGoDB 简介
请登录后发表评论 登录
全部评论

注册时间:2019-09-09

  • 博文量
    2646
  • 访问量
    42295