何时使用两阶段落实协议

数据库服务器对任何在多个数据库服务器上修改数据的事务自动使用两阶段落实协议。

例如,假设连接了三台名为 australiaitalyfrance 的数据库服务器,如下图所示。

图: 已连接的数据库服务器


此图的描述在周围文本中。
如果运行以下示例中显示的命令,那么结果是在三台不同的数据库服务器上执行一次更新和两次插入。
CONNECT TO stores_demo@italy
BEGIN WORK
      UPDATE stores_demo:manufact SET manu_code = 'SHM' WHERE manu_name = 'Shimara'
      INSERT INTO stores_demo@france:manufact VALUES ('SHM', 'Shimara', '30')
      INSERT INTO stores_demo@australia:manufact VALUES ('SHM', 'Shimara', '30')
COMMIT WORK