开始使用免费开始使用

隔离级别与事务

SERIALIZABLE 是一种隔离级别:当发出第一条查询或更新语句时,会对记录进行快照;若在事务之外以任何方式更改了这些数据,将报错。请注意,事务在第一条查询之前也可以执行其他工作,例如声明变量。

您将再次使用 FFIEC 数据集,处理年度储蓄存款变动 RCON0352 受大幅偏移影响的数据。

本练习是课程的一部分

PostgreSQL 中的事务与错误处理

查看课程

练习说明

  • SERIALIZABLE 模式启动一个事务。
  • 将所有 RCON0352 大于 100,000 的记录按 50% 的幅度下调。
  • COMMIT 该事务。
  • 选择仍然 RCON0352 大于 100,000 的记录数量。

交互式实操练习

通过完成这段示例代码来试试这个练习。

-- Create a new transaction with a serializiable isolation level
___ TRANSACTION ISOLATION LEVEL ___;

-- Update records with a 50% reduction if greater than 100000
___ ffiec_reci
SET ___ = ___ * 0.5
WHERE RCON0352 > 100000;

-- Commit the transaction
___;

-- Select a count of records still over 100000
SELECT ___(RCON0352)
FROM ___
WHERE RCON0352 > 100000;
编辑并运行代码