开始使用免费开始使用

使用隔离级别

正如视频中所示,有时需要为单个事务选择隔离级别。为此,最好使用 START TRANSACTION(它是 BEGIN TRANSACTION 的别名),以明确表示这里有不同之处。您可以在开启事务时指定 ISOLATION LEVEL

这里我们将使用 REPEATABLE READ,它可以防止脏读、不可重复读和幻读。在 FFEIC 数据中,RCON2210 表示活期存款字段,用于统计所有未清的支票账户、银行开出票据以及未入账的贷项。如果因某种原因出现抢兑,它们可能成为银行的负债风险。让我们找出所有活期存款超过 $100,000,000 的银行。

本练习是课程的一部分

PostgreSQL 中的事务与错误处理

查看课程

练习说明

  • 以 repeatable read 开启一个事务。
  • 选择所有活期存款中 RCON2210 超过 $100,000,000 的记录。
  • 再次选择所有 RCON2210 仍超过 $100,000,000 的记录。
  • 提交该事务。

交互式实操练习

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

-- Create a new transaction with an isolation level of repeatable read
___ TRANSACTION ___ LEVEL ___ ___;

-- Count of records over 100000000
SELECT ___(RCON2210)
FROM ffiec_reci
WHERE ___ > ___;

-- Count of records still over 100000000
SELECT ___(RCON2210)
FROM ffiec_reci
WHERE ___ > ___;

-- Commit the transaction
___;
编辑并运行代码