Alimentar um campo via IbExpert

Firebird

21/01/2006

Pessoal

Como poderia fazer para alimentar um campo via ibexpert. Este campo vair ter código sequencial. A tabela já tem registros, porém foi acrescentado um campo e é preciso colocar o código sequencial.
Como poderia fazer a script dele ???



Rogério


[b:28e0ae4307][color=blue:28e0ae4307]Tópico movido por Vinicius2K:[/color:28e0ae4307][/b:28e0ae4307] [b:28e0ae4307][color=red:28e0ae4307][list:28e0ae4307][*:28e0ae4307]Fórum original: Delphi[/list:u:28e0ae4307][/color:28e0ae4307][/b:28e0ae4307] Por favor, poste as mensagens nos grupos corretos, conforme orienta as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url].



Rogeranalista

Rogeranalista

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

21/01/2006

Colega,

O campo já possui o Generator para autoincremento? Se não, você deve criá-lo. Se sim, você deve zerar o valor.

A atualização é simples, caso este campo seja realmente novo e não possua relacionamentos:
UPDATE tabela SET campo = GEN_ID(nome_do_generator, 1)


Deste ponto em diante, o incremento ficará por conta do método utilizado por você (Trigger, por exemplo).

T+


GOSTEI 0
Rogeranalista

Rogeranalista

21/01/2006

Vinícius

Não está sendo usado o Generator... Como poderia fazer a SCRIPT ??





Rogério


GOSTEI 0
Vinicius2k

Vinicius2k

21/01/2006

Como você faz o autoincremento? Acho que você deveria analisar com cuidado e utilizar generators para incrementar pois são muito mais seguros que qualquer outro método em ambientes multi-usuário.

Bem, você pode criar um generator apenas com este propósito e depois deletá-lo. Não vejo problemas nisso e facilitaria muito esta atualização.

Posso imaginar outras duas formas:
1. Criar uma SP para fazer esta operação, mas, creio que é muito mais simples, rápido e eficiente utilizar o generator.
2. Fazer uma pequena aplicação que rode um laço executando uma instrução que tenha como um dos parametros um valor vindo de uma variável que vai sendo incrementada no laço.

T+


GOSTEI 0
Rogeranalista

Rogeranalista

21/01/2006

Vinicius


Ok, fiz e deu certo. Criei o Generator, Trigger. Só que o sistema não utiliza a forma de generator. Para campo autoincremento é feito via programação manualmente mesmo. Será que deletando o generator e a trigger não irá dar problema ?? Esta é minha dúvida...


Aguardo um retorno

Rogério


GOSTEI 0
Edilcimar

Edilcimar

21/01/2006

o generator e o trigger não estão sujeitos aos valores do campo autoincremento, pode apagar a vontade, mas o ideal é deixá-los para que eles gerenciem o valor do campo


GOSTEI 0
Vinicius2k

Vinicius2k

21/01/2006

Na verdade, para rodar aquele update você nem precisava da Trigger... seria só o Generator mesmo.

Como o Edilcimar já disse, pode deletá-los agora sem problemas, mas como eu também já lhe disse antes, seria bom você estudar a viabilidade de passar a utilizá-los para incrementação.

T+


GOSTEI 0
POSTAR