Tom*_*eld 5 oracle oracle-11g-r2 alias oracle-12c table
此示例具有用于两个不同表的相同表别名。我不明白为什么 Oracle 允许这样做,如果允许,结果如何有意义。
create table Table_A (x number);
create table Table_B (x number);
insert into Table_A values (1);
insert into Table_A values (2);
insert into Table_B values (2);
insert into Table_B values (3);
select * from Table_A ;
X
----------
1
2
2 rows selected.
select * from Table_B ;
X
----------
2
3
2 rows selected.
select *
from Table_A T
join Table_B T
on T.x = T.x;
X X
---------- ----------
2 2
2 2
3 3
3 3
4 rows selected.
Run Code Online (Sandbox Code Playgroud)
Bug 25342699:使用 ANSI JOIN 和相同的表别名会产生错误的结果(需要登录)
Oracle 支持说明的公开版本非常有限。这是引用上述错误的注释(登录后在完整版本中可见)。
该错误“仍在处理中”。
解决方法很明显:使用不同的别名。
非 ANSI 连接会按预期抛出错误。
似乎在 18.1 和 18.2 中也得到了修复。
归档时间: |
|
查看次数: |
1412 次 |
最近记录: |