END

说明

结束一个事务

语法

end ::=

参数

WORK

表示结束一个事务。此参数没有意义。

TRANSACTION

表示结束一个事务。此参数没有意义。

注解

如果此时不在一个事务中,将导致出错。

语句 END; 的效果与 COMMIT; 的效果是一样的,结束一个事务时,事务中所做的各种操作将真正对数据库产生影响。如果此后系统崩溃或断电,系统将可以根据记录的日志恢复这个事务中的各种操作对数据库产生的影响。

示例

示例1: 结束一个事务

--  清理环境
DROP TABLE tab1 CASCADE;

--  创建表并插入数据
CREATE TABLE tab1 (a INT);

INSERT INTO tab1 VALUES (100);
INSERT INTO tab1 VALUES (200);


SELECT * FROM tab1 ORDER BY a;
A(int)      |
------------
100         |
------------
200         |
总数目:2

--  开始一个事务
BEGIN;

-- 插入数据
INSERT INTO tab1 VALUES (300);


SELECT * FROM tab1 ORDER BY a;
A(int)      |
------------
100         |
------------
200         |
------------
300         |
总数目:3

--  结束事务
END;


--  事务中的数据已插入表中
SELECT * FROM tab1 ORDER BY a;
A(int)      |
------------
100         |
------------
200         |
------------
300         |
总数目:3


--  删除表
DROP TABLE tab1;