Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - SQL 的用法 » 事务和隔离级别 » 隔离级别教程

 

教程:了解非可重复读取

脏读教程中的示例演示了第一类不一致,即脏读。在该示例中,会计对零售额进行了计算,而销售经理正在更新一个价格。会计的计算使用了销售经理已经输入但正在进行改正的错误信息。

以下示例演示了另一类不一致:非可重复读取。在本示例中,假设两个相同的雇员角色,且他们都并发使用 SQL Anywhere 示例数据库。销售经理想要给塑料太阳帽定一个新的销售价格。会计想要核实某些出现在最近一份订单上的商品的价格。

本例开始时两个连接都处于隔离级别 1,而不是隔离级别 0(随 SQL Anywhere 提供的 SQL Anywhere 示例数据库的缺省隔离级别)。将隔离级别设置为 1 可以消除上一教程中演示的不一致类型(即脏读)。

注意

要按照此教程正常工作,则一定不要选择 Interactive SQL 中的 [自动释放数据库锁] 选项([工具] » [选项] » [SQL Anywhere])。


第 1 课:创建非可重复读取
第 2 课:避免非可重复读取