--创建测试表
create table cux_test_1(
a1 number,
b1 varchar2(100)
);
-------
create table cux_test_2(
a2 number,
b2 varchar2(100)
);
-------
create table cux_test_3(
a3 number,
b3 varchar2(100)
);
--drop table cux_test_3;
--select * from cux_test_3;
insert into cux_test_1(a1,b1) values (1,'a');
insert into cux_test_2(a2,b2) values (2,'b');
insert into cux_test_3(a3,b3) values (3,'c');
--12c运行没有问题,11g运行会报错ORA-01417
select *
from cux_test_1 a,cux_test_2 b,cux_test_3 c
where a.a1 = b.a2(+)
and c.a3 = b.a2(+);
--------------------
--11g下需做如下修改
select *
from (select a.a1, a.b1, c.a3, c.b3
from cux_test_1 a, cux_test_3 c) x,
cux_test_2 b
where x.a1 = b.a2(+)
and x.a3 = b.a2(+);
Oracle11g下ORA-01417的解决办法
最新推荐文章于 2023-10-25 14:28:16 发布