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
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
Curtir tópico
+ 0
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.
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
Clique aqui para fazer login e interagir na Comunidade :)