[firebase-br] furo de codigo numa tabela...
Ubirajara Nogueira
usnogueira em gmail.com
Sex Jun 29 11:48:11 -03 2007
Vc pode usar uma trigger before insert com o seguinte código:
DECLARE VARIABLE V_CONT SMALLINT;
DECLARE VARIABLE V_EXISTE SMALLINT;
DECLARE VARIABLE V_ULTIMO INTEGER;
DECLARE VARIABLE V_VAZIO INTEGER
begin
select max(codigo)
from tabela
into :v_ultimo;
V_CONT = 1;
while (V_CONT <= V_ULTIMO) do
begin
select cont(*)
from tabela
where codigo = :V_CONT
into :V_EXISTE
if (:V_EXISTE = 0) then
V_VAZIO = V_CONT;
V_CONT = V_ULTIMO;
end
new.codigo = v_vazio;
end
Com esse código vc pega a falha na sequencia e atribui ao campo
NEW.CODIGOda tabela.
Espero ter ajudado.
Em 29/06/07, Jeferson Oliveira <jefersonfoliveira em gmail.com> escreveu:
>
> Franncisco escreveu:
> > pessoal, existe algum sql para descobrir o proximo codigo disponivel
> dentro
> > de uma tabela?
>
> Parece-me que você não pesquisou nas mensagens antigas da lista antes
> de postar sua mensagem.
> Veja o tópico "Listar codigos que faltam na tabela", de 21/06/2007, lá
> eu listou um outro tópico postado algum tempo antes que apresenta
> algumas soluções para o seu problema.
>
>
> Abraço!
> Jeferson Oliveira
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
Ubirajara Nogueira
Analista de Sistemas
Petrolina - PE
Mais detalhes sobre a lista de discussão lista