Re: Searching missing number in large data.

  • From: Connor McDonald <mcdonald.connor@xxxxxxxxx>
  • To: Oracle Freelist <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 20 May 2010 23:07:43 +0800

Uncompiled / untested / etc...

declare
   type t is table of pls_integer index by pls_integer;
   d t;
begin
  for i in ( select idx from my_table ) loop
     d(i.idx) := 1;
  end loop;

  for i in d.first .. d.last loop
     if d.next(i) != i+1 then
            -- bingo !!!!
     end if;
  end loop;
end;
/

So two sweeps...O(2n) depending on the internal implementation of PLSQL
tables...

Other related posts: