Tenta assim:
select * from ( with seq as ( Select Rownum From user_objects t1, user_objects t2 where rownum <= ( select max(x) from t ) ) select l, x, decode(x, null, l ) falta from seq left outer join t on ( l = x ) order by 1 ) where falta is not null -----Mensagem original----- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcelo Cauduro Enviada em: quarta-feira, 18 de janeiro de 2006 07:49 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Como saber qual numero falta na pk ? Marcio, essa query nao retorna ORA-01473: cannot have subqueries in CONNECT BY clause ? On 1/17/06, Marcio Portes <[EMAIL PROTECTED]> wrote: > > select * > from ( > with seq as ( > select level l > from dual connect by level <= ( select max(x) from t ) > ) > select l, x, decode(x, null, l ) falta > from seq left outer join t on ( l = x ) > order by 1 > ) > where falta is not null > / > > Seria um método. Segue exemplo: > Balise a sequencia com uma view completa e faça um outer join com sua > tabela. Com uma comparação simples, voce > encontrará os gaps. > > > SQL> select * from t; > > X > ------------- > 1 > 3 > 4 > 5 > 6 > 10 > 13 > > 7 rows selected. > > SQL> with seq as ( > 2 select level l > 3 from dual connect by level <= ( select max(x) from t ) > 4 ) > 5 select l, x, decode(x, null, l ) falta > 6 from seq left outer join t on ( l = x ) > 7 order by 1 > 8 / > > L X FALTA > ------------- ------------- ------------- > 1 1 > 2 2 > 3 3 > 4 4 > 5 5 > 6 6 > 7 7 > 8 8 > 9 9 > 10 10 > 11 11 > 12 12 > 13 13 > > 13 rows selected. > > > criscadba wrote: > > Boa tarde ! > > > > Os desenvolvedores usam uma sequence para preencher a pk de uma > > tabela, só que alguém andou com a sequence em alguns momentos e a pk > > da tabela, que tem que ser sequencial, ficou com furos, exemplo : > > > > protocolo_inscricao > > 1 > > 3 > > 4 > > 5 > > 6 > > 10 > > 13 > > > > Há alguma função que me diga quais os números estão faltando porque > > foram pulados pelo avanço indevido da sequence ? > > -- > Marcio Portes > http://mportes.blogspot.com > > > ---------------------------------------------------------------------------- ---------------------------------------------- > Atenção! As mensagens deste grupo são de acesso público e de inteira > responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > ---------------------------------------------------------------------------- ----------------------------------------------______________________________ _______________________________________ > Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 > > > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE > <http://br.rd.yahoo.com/SIG=12fib5nru/M=387526.7663462.8697482.1588051/D=brc lubs/S=2137114689:HM/Y=BR/EXP=1137553830/A=3242383/R=2/id=noscript/SIG=16fep r8g1/*http://landingstrip.dell.com/landingstrip/ls.asp?CID=10164&LID=293758& DGC=BA&DGStor=DHS&DGSite=Yahoo&Conum=BR&DURL=http://www1.la.dell.com/content /products/category.aspx/notebooks?c%3Dbr%26l%3Dpt%26s%3Ddhs> > ------------------------------ > *Links do Yahoo! Grupos* > > - Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/oracle_br/ > > - Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED]<[EMAIL PROTECTED] om.br?subject=Unsubscribe> > > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > [As partes desta mensagem que não continham texto foram removidas] ---------------------------------------------------------------------------- ---------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ ---------------------------------------------------------------------------- ----------------------------------------------______________________________ _______________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Links do Yahoo! Grupos -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html