ORA-01719 также может быть сгенерировано, если у вас есть запрос внешнего соединения в 11g, который также использует IN или OR и ссылки на таблицы через db_link ссылаются на 10g.
11g до 11g работает так же, как и 10g до 10g - просто появляется, если вы используете db_link с 11g до 10g.
В частности, я в настоящее время вижу эту проблему, используя 11.2.0.1 до 10.2.0.3; и с 11.2.0.2 по 10.2.0.4. А также различные версии O / S: Windows и Solaris.
Запустите это в целевых базах данных 10g и 11g:
create table u1 (c1 number);
create table u2 (c1 number, c2 number);
insert into u1 values (1);
insert into u1 values (2);
insert into u2 values (1,1);
insert into u2 values (1,2);
commit;
Создайте db_links (DB10, DB11) в своей базе данных 11g, соединяющей базы данных 10g и 11g.
Запустите эти запросы в базе данных ссылок 11g:
/* this will fail 11g to 10g*/
SELECT *
FROM u1@DB10 a,
(SELECT *
FROM u2@DB10
WHERE c1 IN (1, 2, 3)) b
WHERE a.c1 = b.c1(+);
/* this will work 11g to 11g*/
SELECT *
FROM u1@DB11 a,
(SELECT *
FROM u2@DB11
WHERE c1 IN (1, 2, 3)) b
WHERE a.c1 = b.c1(+);