Ir para conteúdo

Arquivado

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

Fernando Moraes

[Resolvido] RE-ordernar campo (Chave primária)

Recommended Posts

Oi pessoal

 

 

***** CLIENTE "LEGAL" *****

 

Tenho uma tabela Cliente, onde possui um campo chamado CPF e neste está sendo gravado Pessoas Físicas e Pessoas Jurídicas, cerca de 3200 registros.

O que diferencia PF da PJ é o Tamanho do Campo CPF (para PJ 18 caracteres e PF 14 caracteres, com pontos e traços).

 

Porém o cliente solicitou que removesse a P. Juridica, certo. Fiz o seguinte processamento:

 

delete from cliente where strlen (cpf) < 18

 

(apaguei cpf < 18 caracteres, ficando assim só a PJ). Restando 487 registros PJ

 

 

***** MINHA DÚVIDA *****

 

Eu quero RE-ordenar o campo código pois o mesmo está totalmente fora da ordem devido ao processamento.

Por Exemplo: 1,2,3,...,10,165,171,201,... e assim por Diante..

 

Obs: o Campo Código é a minha chave primária.

 

Tem como ordenar começando do 1 até o final dos registros?

 

Firebird - D6 - IB

 

Obrigado, t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, teria, mas terá de remover antes todas as chaves extrangeiras e primárias, por causa da integridade do BD, depois renumerar e setar os novos códigos nas tabelas que dependem deste, e por fim reativar todas as chaves...

Particularmente não vejo o porque deste procedimento, mas pode-se fazer, mas terá um bom trabalho para isto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, se realmente for fazer isso também pode exportar os dados da tabela para um arquivo SQL.

Crie um trigger (se não tiver) para o before insert da tabela preenchendo o campo principal a partir do número gerado pelo generator. Ative o trigger se já não estiver ativado, exclua os registros da tabela e execute a SQL exportada para gravar novamente. Apesar da sua SQL passar o campo da chave primária para gravar o mesmo será substituído no before insert pelo número do generator.

 

t+!

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.