MemFireDB SQL语法 - BEGIN语句
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)
复制
相关文章
概要
使用该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)
复制相关文章