у нас есть клиент, который столкнулся с проблемой с некоторыми противоречивыми данными, и мы дали ему запрос, чтобы исправить это.
Теперь, прежде чем выполнить запрос, клиенты запрашивают у меня запрос, который даст временное пространство, необходимое для выполнения этого запроса. Это действительно важно, так как этот запрос может повлиять на множество записей в таблице.
Вот запрос, который я отправил им, чтобы исправить их проблему:
declare
cursor cur is select distinct SEQID from D_LEAD where SEQID IN( SELECT SEQID FROM D_LEAD WHERE CURR_FLAG = 1 GROUP BY
SEQID HAVING COUNT(SEQID) >1);
seq NUMBER;
begin
open cur;
loop
fetch cur into seq;
update D_LEAD set CURR_FLAG = 0 where LEAD_ID IN (SELECT LEAD_ID FROM D_LEAD WHERE ((LEAD_ID != (SELECT MAX(LEAD_ID) FROM D_LEAD WHERE SEQID=seq)) AND SEQID=seq));
exit when cur%NOTFOUND;
end loop;
close cur;
commit;
end;
Спасибо за вашу помощь!