Alteracao de campo chave

18/01/2006

0

Pessoal

Estou com um problema: Em uma tabela fiz alteracao da estrutura da chave. Esta tabela tinha uma chave composta por quatro campos, porem percebi que estava errado. A solucao foi adicionar um campo definindo como autoincremento e chave e os outros campos esta sem chave.
Bom ate ai tudo bem.. Pior e que no cliente ja tem registros. Tenho que fazer uma atualizacao do sistema.. Como devo fazer o upgrade da base sem que o cliente perca os registros ?? Teoricamente seria criar a tabela novamente no cliente, mas entao vai perder os registros...
Estou usando o Firebird 2.0 e Delphi 6


Rogerio


Rogeranalista

Rogeranalista

Responder

Posts

18/01/2006

Rodrigo.medeiros

Se vc usa o IBExpert, crie um Script Executive da tabela e salve os registros como Insert. Depois é só rodar esse Script Executive na tabela com as alterações feitas.

Pelo que entendi, vc criou um campo a mais como AutoIncrement = Generator. Esse campo não precisa colocar no insert da tabela, mas ao criar o Generator crie também uma trigger de BeforeUpdate, que atualizará automaticamente o campo AutoIncrement quando vc rodar o Script Executive para inserir os dados de volta na tabela.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar