Как узнать временное пространство, которое потребуется для выполнения sql-запроса к базе данных?

у нас есть клиент, который столкнулся с проблемой с некоторыми несогласованными данными, и мы отправили им запрос, чтобы исправить это.

Теперь перед выполнением запроса клиенты запрашивают у меня запрос, который предоставит временное пространство, необходимое для выполнения этого запроса. Это действительно важно, поскольку этот запрос может повлиять на множество записей в таблице.

Вот запрос, который я отправил им, чтобы исправить их проблему:

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;

Спасибо за вашу помощь!

5
задан MozenRath 5 May 2012 в 10:33
поделиться