3

我在更新时从一张表订阅了 Oracle CQN 消息(使用 python cx_oracle)。我只更新一行:

UPDATE my_table SET 
  REMARKS = 'TEST2'
WHERE my_table_primary_key = 123456;

提交后,我收到 2 条相同表的消息,相同的操作(更新),但有 2 个不同的 ROWID:'1234567890AAhF5AAF' 和 '1234567890AAhaqAAA'

两个 ROWID 都指向同一个表 (my_table)。在选择之后,我有两行具有相同的 id:

SELECT DBMS_ROWID.rowid_object('1234567890AAhF5AAF') AS ID FROM dual
UNION ALL
SELECT DBMS_ROWID.rowid_object('1234567890AAhaqAAA') AS ID FROM dual;

在此处输入图像描述

但最奇怪的是 - 只有一个 ROWID 指向真实记录,由另一个选择不返回任何内容(但不是无效的 ROWID!):

select * from my_table where rowid = '1234567890AAhF5AAF'
UNION ALL
select * from my_table where rowid = '1234567890AAhaqAAA';

在此处输入图像描述

有人可以建议发生了什么吗?

4

0 回答 0