Bug in Oracle 7.3
From: (wrong string) ørn Pedersen <bjoped_at_online.no>
Date: 1997/04/08
Message-ID: <01bc4402$76c0c720$0f2345c1_at_ssb-open>#1/1
insert into tab2 values(1,2);
insert into tab2 values(1,3);
Date: 1997/04/08
Message-ID: <01bc4402$76c0c720$0f2345c1_at_ssb-open>#1/1
- bjp_at_ssb.no --
- Serious BUG in Oracle 7.3:
- An example:
drop table tab1;
create table tab1 (fld1 number,fld2 number);
drop table tab2;
create table tab2 (fld3 number,fld4 number);
insert into tab1 values(1,1); insert into tab1 values(1,2); insert into tab1 values(1,3); insert into tab1 values(2,1); insert into tab1 values(2,2); insert into tab1 values(2,3); insert into tab2 values(1,1);
insert into tab2 values(1,2);
insert into tab2 values(1,3);
commit;
select fld1,fld2 from tab1
where fld1 in (select fld1 from tab2);
- This statement will work even if tab2 only contains fld3 and fld4
- because fld1 is found in tab1. The result will be erronous, because
- all rows from tab1 will be selected. This behaviour could give very
- strange results, if you by mistake includes a column-name from tab1
- in the second select. This error must be considered a serious bug.
select fld1,fld2 from tab1
where fld1 in (select fld5 from tab2);
- Will produce an error (as i rightly should).
select fld1,fld2 from tab1
where fld1 in (select fld3 from tab2);
- Will give the desired result.