Como criar aut_inc com zero a esquerda no IB/FB?
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?
Outra eu queria também saber como eu deveria configura meu ibdataset ou a minha ibtable para ser utilizada com esse auto_incremento?
Valdiney
Curtidas 0
Respostas
Gandalf.nho
29/11/2004
Você pode usar o auto-incremento normal e depois só exibir com Zeros a esquerda.
GOSTEI 0
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?
como faço, poderia me esplicar passo a passo?
GOSTEI 0
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
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
29/11/2004
Desculpe minha ignorância loura mais o que uma UDF ? :lol:
GOSTEI 0
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