[firebase-br] reenumerar um campo autoincremento

Eduardo Pombo eduardo em embras.net
Sex Jul 2 17:42:05 -03 2010


Quanto a ser PK pode ser resolvido trocando o Zero pelo proprio codigo
so q negativo + o numero q  vc tem positivo e o update seria o
max(codigo) +1 where codigo < 1, agora se for FK aconselho a fazer
essa numeracao em outro campo (temporario) primeiro pra pode fazer um
"DE" "PARA" nas tabelas de ligacao.


Em 2 de julho de 2010 15:53, Eduardo Jedliczka <edujed em gmail.com> escreveu:
> se este campo for uma PK e houver FKs relacionadas, não seria possível
> zerar o campo para fazer a numeração.
>
> assim, poderia
>
> 1º) usar um select max(campo) from tabela para saber o último código utilizado
> 2º) dar um update tabela set código=codigo + último codigo
> 3º) dar um update tabela set código = (select  max
> (coalesce(codigo,0))+1 from tabela where codigo < ultimo codigo
>
> abraço
>
> Eduardo Jedliczka
>
> Em 2 de julho de 2010 14:29, Eduardo Pombo <eduardo em embras.net> escreveu:
>> Boa Tarde,
>>
>> Nao sei bem se a numeracao que vc quer é a q vou ter sugerir pq na
>> sequencia q vc colocou como correta falta  o 11 tb, mas para numeracao
>> sequencial seria simplesmesnte setar em todos os registros o codigo
>> para 0 (sem filtro mesmo) e depois setar codigo = (select max(codigo)
>> from tabela where codigo=0)+1
>>
>> Espero ter ajudado
>>
>>
>>
>>
>> Em 2 de julho de 2010 13:31, Alexandre Pereira Bühler
>> <buhlerax em yahoo.com.br> escreveu:
>>>  Boa tarde,
>>> Se puderem me dar uma luz (caminho das pedras).
>>> Tenho um campo autoincremento de uma tabela que foi importada do dbf para
>>> firebird.
>>> Não possuo mais a tabela original em dbf.
>>> Quero sanar os furos de seqüencia desta tabela.
>>> Há algum comando sql onde possa reenumerar esta tabela de forma que o campo
>>> codigo fique na sequencia correta.
>>> EX: sequencia hoje 1,4,6,7,8,9,10,12
>>> deverá ficar 1,2,3,4,5,6,7,8,9,10,12.
>>> Obrigado
>>>
>>> --
>>> Alexandre Pereira Bühler
>>> Técnico Eletroeletrônica - Senai - MG
>>> Linux User: 397.546
>>> Colunista: www.delphisophp.com
>>> Owner: http://br.groups.yahoo.com/group/freepascal/
>>> Liberdade é essencial. Use GNU/Linux.
>>> Legalize os softwares de sua empresa
>>>
>>> Simão&   Bühler Ltda (Infobrindes)
>>> Instalação, manutenção e venda de servidores GNU/Linux.
>>> http://www.simaoebuhler.com.br
>>> Hardware acesse, veja e tenha produtos com qualidade, garantia e nota
>>> fiscal.
>>> http://www.simaoebuhler.com.br/loja
>>> alexandre em simaoebuhler.com.br
>>> Telefone: (41) 3538-5428
>>>
>>> Infobrindes (Simão&   Bühler Ltda)
>>> Brindes e material promocional.
>>> http://www.infobrindes.com.br
>>> alexandre em infobrindes.com.br
>>> Telefone: (41) 3532-5428
>>>
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>
>>
>>
>> --
>>
>> Atenciosamente
>>
>> José Eduardo Pombo de Barros
>> Gerente de Manutenção de Sistemas
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 

Atenciosamente

José Eduardo Pombo de Barros
Gerente de Manutenção de Sistemas




Mais detalhes sobre a lista de discussão lista