Como criar aut_inc com zero a esquerda no IB/FB?

Firebird

29/11/2004

Eu tenho uma aplicação que gera um código com zeros a esquerda, mas eu queria migra esse código para o banco IB/FB como faço?


Outra eu queria também saber como eu deveria configura meu ibdataset ou a minha ibtable para ser utilizada com esse auto_incremento?


Valdiney

Valdiney

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

29/11/2004

Você pode usar o auto-incremento normal e depois só exibir com Zeros a esquerda.


GOSTEI 0
Valdiney

Valdiney

29/11/2004

Mas que quero fazer isso no banco e não na aplicação?

como faço, poderia me esplicar passo a passo?


GOSTEI 0
Gandalf.nho

Gandalf.nho

29/11/2004

Crie o trigger normalmente para incrementar seu campo, só que ao invés de atribui diretamente o valor do generator ao campo, você primeiro coloca os zeros a esquerda e só aí atribui. Vamos supor que você esteja usando uma UDF para atribuir os zeros a esquerda chamada Zeros. A trigger ficaria mais ou menos assim:

CREATE TRIGGER nome_trigger FOR tabela
BEFORE INSERT
AS
DECLARE VARIABLE codigo INTEGER;
BEGIN
IF (NEW.nome_campo IS NULL) THEN
BEGIN
codigo = GEN_ID(nome_generator, 1);
NEW.nome_campo = Zeros(codigo);
END
END


GOSTEI 0
Valdiney

Valdiney

29/11/2004

Desculpe minha ignorância loura mais o que uma UDF ? :lol:


GOSTEI 0
Gandalf.nho

Gandalf.nho

29/11/2004

UDF são funções definidas pelo usuário (User Defined Function), ou seja, uma Dll com funções que podem ser acessadas e usadas pelo banco de dados.


GOSTEI 0
POSTAR