我有这样的查询:
select w.rowid, w.waclogin
from tableA w, tableB wa, tableC a
where wa.alucod = a.alucod
and w.waclogin = wa.waclogin
and a.cpf = '31808013875'
and rownum <= 1;
Run Code Online (Sandbox Code Playgroud)
结果是:
ROWID WACLOGIN
AAA0CEAHSAABE07ABA 31808013875
Run Code Online (Sandbox Code Playgroud)
但是当我使用fetch(为了提高性能)时,返回的rowid是不同的:
select w.rowid, w.waclogin
from tableA w, tableB wa, tableC a
where wa.alucod = a.alucod
and w.waclogin = wa.waclogin
and a.cpf = '31808013875'
fetch first row only;
Run Code Online (Sandbox Code Playgroud)
结果是:
ROWID WACLOGIN
AAA0DMAHaAAA+ZcAAX 31808013875
Run Code Online (Sandbox Code Playgroud)
为什么要获取更改行号?对我来说,这没有道理。
使用提取时,返回的行ID来自表B,而不是表A。