Intern Day28 - PostgreSQL - 事务transaction
事务 = TRANSACTION
数据库事务通常包含了一个序列的对数据库的读/写操作。有以下两个目的:
-
为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
-
当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。
控制事务命令
事务控制命令只与 INSERT、UPDATE 和 DELETE 一起使用。不能在创建表或删除表时使用,因为这些操作在数据库中是自动提交的。
BEGIN TRANSACTION:开始一个事务。
COMMIT:事务确认,或者可以使用 END TRANSACTION 命令。
ROLLBACK:事务回滚。
启动事务BEGIN命令
事务启动后通常会持续执行下去,直到遇到下一个 COMMIT 或 ROLLBACK 命令。不过在数据库关闭或发生错误时,事务处理也会回滚。
启动一个事务:
BEGIN;
或者
BEGIN TRANSACTION;
确认事务COMMIT命令
确认事务:COMMIT命令(是用于把事务调用的更改保存到数据库中的事务命令)
语法:
COMMIT;
或者
END TRANSACTION;
回滚事务ROLLBACK命令
回滚事务(撤消尚未保存到数据库的事务命令):ROLLBACK 命令。
语法:
ROLLBACK;
参考文本
https://www.runoob.com/postgresql/postgresql-transaction.html