[firebase-br] Preencher um campo autoincremento após produção

Tecnobyte Informática temp2 em tecnobyte.com.br
Ter Mar 15 09:55:37 -03 2011


Bom dia

O comando abaixo preenche os nulos com base no generator:

UPDATE Tabela
SET Campo = GEN_ID(NomeGenerator, 1)
WHERE Campo IS NULL

IMPORTANTE!

Considerando que a tabela esteja assim:

NULL, NULL, ..., NULL, 1, 2, 3, ..., 5000

e que o valor do generator atual seja 5000, após a atualização a tabela 
ficará assim:

5001, 5002, ..., 6000, 1, 2, 3, ..., 5000

No final do processo o generator terá o valor 6000 (ou valor maior caso 
outros processos estejam incrementando este generator ao mesmo tempo).

Dependendo do que deseja, poderá também criar um generator especificamente 
para este propósito e usá-lo no comando UPDATE que mencionei acima.

Exemplo:

CREATE GENERATOR Gen_Temporario;
SET GENERATOR Gen_Temporario TO 200;  -- Se quiser começar a numeração em 
201, por exemplo.
UPDATE Tabela SET Campo = GEN_ID(Gen_Temporario, 1) WHERE Campo IS NULL;
DROP GENERATOR Gen_Temporario;


Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br


----- Original Message ----- 
From: "Kleber Oliveira (Softvip)" <kleber em softvip.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, March 15, 2011 8:15 AM
Subject: [firebase-br] Preencher um campo autoincremento após produção


Prezados(as),

Bom dia!

Tenho uma base em produção, entretanto possui uma chave composta, e
decidimos criar uma campo Integer que será autoincremento (Trigger). Os 1000
registros anterior estão Null (desse novo campo). Tem como preenchê-los sem
ter que criar um programa de acerto, ou seja, pelo próprio gerenciador do BD
é possível preencher esse Null crescentemente?

Grato.

Kleber.





Mais detalhes sobre a lista de discussão lista