暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MemFireDB SQL语法 - BEGIN语句

原创 小小亮 2021-06-10
130

BEGIN

概要

使用该BEGIN语句以默认(或给定)隔离级别启动新事务。

语法

BEGIN [ TRANSACTION | WORK ]  

语义

ABORT [ TRANSACTION | WORK ] WORK 可选

例子

创建名为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)
最后修改时间:2021-06-10 15:51:45
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论