Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edson_hh

Verificar registro inexistente

Recommended Posts

Bom dia! estou com uma duvida e nao sei nem como procurar no google.

tenho uma tabela com notas fiscais... por exemplo do nº 1 ao 10000.

Supondo q a nota numero 90 deu problema e nao foi gravada.

Existe um select para eu verificar q entre o 1 e 10000 nao existe o registro 90?

 

Sei q tem como fazer isso na programação com for ou while... disseram tb pra criar uma função...

nao sei como poderei fazer isso, mas queria fazer de um jeito mais rapido.

 

Uma outra coisa q tentei q nao sei como faz... fazer um select montando uma coluna temporaria de 1 a 10000 e depois fazer um not in na minha tabela de NF.

mas nao sei como fazer isso tb.

 

existe algo simples desse tipo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Oracle existe uma coluna virtual chamada rownum que numera cada linha do select.

 

fazendo ...

 

select rownum from xxxx
where rownum <= (select max(num_nf) from notas_fiscais)

 

Temos uma sequencia de todas as notas, xxxx seria uma tabela

qualquer que tenha mais registros que max(num_nf)

 

Fazendo

 

select rownum from xxxx
where rownum <= (select max(num_nf) from notas_fiscais)
minus
select num_nf from notas_fiscais

 

temos a diferença.

 

... mas isto é uma solução para Oracle.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.