Gerar uma ID com trigger.

Firebird

17/07/2005

Boa Noite, eu trabalho com ID na base, tem o código do cliente e o ID da tabela.

O Sistema antigo aqui, faziam o ID no fonte, o pessoal responsavel do sistema , diziam que dava muito erro com trigger etc..

Alguém pode me informar o procedimento para criar uma trigger que gera um ID novo para cada registro inserido.


Obrigado.


Lynx

Lynx

Curtidas 0

Respostas

Beppe

Beppe

17/07/2005

Algo assim, precisa um generator tbm:

set term ^ ;

create generator GEN_Tabela ^

create trigger TRG_TabelaBeforeInsert for Tabela
    active before insert as
begin
    new.ID = gen_id(GEN_Tabela, 1);
end ^



GOSTEI 0
Lynx

Lynx

17/07/2005

Beppe muito obrigado por sua resposta.

Já estou fazendo testes.

Tem algum problema criar uma trigger para cada tabela ?
Desempenho etc... pq é legal que não precisa mexer no fonte.
valeu


GOSTEI 0
Lynx

Lynx

17/07/2005

Fiz alguns testes, funcionou muito bem Beppe.
Obrigado


GOSTEI 0
Beppe

Beppe

17/07/2005

Legal, cara.

Quanto a performance, acredito que enquanto as triggers estão na memória o overhead é insignificante. O que leva mais tempo é o trabalho que elas tem a fazer, se precisar carregar tabelas e tal, mas se feito no programa a necessidade é a mesma, então acho que pode usar triggers como for necessário, mas sempre usando o bom senso.


GOSTEI 0
POSTAR