Fórum Auto Incremento #39071

30/09/2003

0

Como criar uma campo auto incremento no interbase,

ouvi dizer que é só com triguer, se for, como crio uma?


Smaug_84

Smaug_84

Responder

Posts

30/09/2003

Nuk

No interbase não tem campo autoincremento, para isso vc tem q criar um generator com o seguinte código.

Create generator Gen_Codigo; // onde Gen_Codigo é o nome do seu generator.

após isso vc terá q criar um trigger para cada inserção adicionar 1 no campo codigo.
o código é:

set term ! ;
Create Trigger Tri_ID for Clientes before insert position 0 as
begin
new.codigo = gen_id(Gen_Codigo, 1);
end;


onde:
Tri_ID é o nome da sua trigger;
Clientes é o nome da sua tabela;
codigo é o campo ao qual vc esteja querendo fazer autoincremento é válido lembrar que é necessário este campo ser do tipo Integer;
Gen_Codigo é o nome do seu generator;


é só isso, seu campo já está fazendo autoincremento, com apenas estas linhas de código.

Abraços,


Responder

Gostei + 0

30/09/2003

Leandro Rem

PRIMEIRAMENTE VC CRIA UM GENERATOR
EX:
CREATE GENERATOR NOME DO GENERATOR;

DEPOIS VC CRIA A TRIGGER PARA GERAR SEU CONTADOR
EX:
SET TER^
CREATE TRIGGER NOME DA TRIGGER FOR NOME DA TABELA BEFORE INSERT AS
BEGIN
NEW.CODIGO = GEN_ID(NOME DO GENERATOR , 1);
END^

ONDE BEFORE INSERT É O EVENTO Q VAI DISPARAR A TRIGGER
OU SEJA ANTES DE INCLUIR.
NEW.CODIGO É O CAMPO Q VAI RECEBER O VALOR DO CONTADOR

GEN_ID É A FUNCAO Q INCREMENTA O VALOR NO EXEMPLO VAI INCREMENTAR 1 NO MAIOR CODIGO.

ESPERO TER AJUDADOR .


Responder

Gostei + 0

30/09/2003

Afarias

Entretanto, dê uma lida no tópico abaixo e nos demais sugeridos nele::

http://delphiforum.icft.com.br/forum/viewtopic.php?t=22657&highlight=generator


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar