Create Generator no Banco de Dados
Cria um Generator de número inteiros e seqüenciais. O Generator em conjunto com Trigger e ou Stored Procedure, é usado para simular o campo auto-incremento dos Bancos Desktop´s. Serve também para evitar chaves duplicadas em campos numéricos.
O Valor inicial é Zero, mas, é atualizado toda vez que é chamado a função GEN_ID(). O Generator pode ser usado para incrementar ou decrementar valores. Para se saber o código atual do Generator você passa o valor Zero “0” para o Gen_ID().
Sintaxe :
CREATE GENERATOR “NOME_DO_GENERATOR”
Ex : Vamos simular neste exemplo, um auto numérico seqüencial da tabela de fornecedores da coluna ID.
CREATE GENERATOR COD_FORNECEDOR;
CREATE TRIGGER “COD_AUTO_FORNECEDOR” FOR “FORNECEDORES” BEFORE INSERT POSITION 0 AS
BEGIN
NEW.ID := Gen_ID(“COD_FORNECEDOR”,1);
END
Para excluir um GENERATOR, ele tem que ser excluído direto da tabela de sistema do InterBase “RDB$GENERATORS”.
Ex : DELETE FROM RDB$GENERATORS WHERE RDB$GENARATOR_NAME = ‘NOME_DO_SEU_GENERATOR’;