Auto Incremento

Delphi

16/02/2005

Desculpem-me os moderadores se já existir um tópico (ou vários) a respeito. Venho procurando desde ontem e ainda não consegui algo que me ajude a resolver o meu problema : NAO ESTOU CONSEGUINDO FAZER FUNCIONAR O AUTOINCREMENTO do firebird pelo delphi.
Pergunta 1 : como faço pra criar o trigger de autoincremento? Fiz um mas acho que não está certo.
Pergunta 2 : o trigger estando correto, como faço pra ativá-lo no delphi, sendo q me da erro de campo requerido?

Mais uma vez perdoem-me os moderadores, mas estou DESESPERADO.

Muito obrigado.


Hjmarcon

Hjmarcon

Curtidas 0

Respostas

Sremulador

Sremulador

16/02/2005

CREATE TRIGGER NOMEDOGATILHO
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CAMPOIS NULL) THEN
NEW.CAMPO = GEN_ID(GERADOR, 1);
END


GOSTEI 0
Somar

Somar

16/02/2005

para a trigger funcionar deve se criar primeiro o generator
CREATE GENERATOR GEN_PRODUTOS;
SET GENERATOR GEN_PRODUTOS TO 0;

depois criar a trigger assim
SET TERM ^ ;

CREATE TRIGGER ´nome da trigger´ FOR ´nome da tabela´
ACTIVE BEFORE INSERT POSITION 0
AS
begin
/* Trigger text */
NEW.´tabela.chave´ = GEN_ID(´´generetor´´,1);
end

SET TERM ; ^

pronto
não precisa fazer nada no delphi pois ele inseri sozinho.

com relação ao campo requerido vc coloca no componente de acesso na propriedade do Field required = false

espero ter ajudado


GOSTEI 0
POSTAR