У меня есть следующий запросOracle 11g PL/SQL курсор, пересекаться запрос
select distinct name from table1
intersect
select distinct name from table2;
я загружаю ResultSet в курсор в процедуре PL/SQL, например:
cursor c1 is (select distinct name from table1
intersect
select distinct name from table2);
Для некоторых причина последнего значения в наборе результатов дублируется в курсоре. Этого не происходит при выполнении запроса самостоятельно. Есть идеи, почему это происходит?
Код для цикла:
var table.col%type;
BEGIN
OPEN c1;
LOOP
BEGIN
exit when c1%NOTFOUND;
FETCH c1 into var;
INSERT INTO table values (col1, var);
commit;
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
CONTINUE;
END;
END LOOP;
END;
это операция набора SQL, которая выбирает только общие элементы из двух разных операторов SELECT. – user2001117
Как вы выполняете цикл на курсоре? можете ли вы показать нам какой-то код? –
Циклический код добавлен в вопрос. Когда я запрашиваю таблицу, в которую данные вставляются, после запуска процедуры последнее значение вставляется дважды. – sotn