Problemas com Generator e Trigger, alguém ?

02/04/2003

0

Resolvir a fazer incremento com Generator e triggers mais não está dando certo,

criei o Generator:
Ger_Cod_empresa

Criei uma Trigger:
CREATE TRIGGER GER_COD_EMPRESA FOR EMPRESA ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CODIGO IS NULL) THEN
NEW.CODIGO = GEN_ID(GER_COD_EMPRESA, 1);
END


uso DBexpress, SQLDataset DataSetProvider com ClienteDataSet, tenho que executar a trigger ? ou o interbase se encarrega disso ?

Como faço para minha aplicação pegar o código gerado pelo generator ?

Obrigada pela atenção !

[]´s

Renata Coimbra


Anonymous

Anonymous

Responder

Posts

02/04/2003

Anonymous

Não tem nada errado com sua trigger!

A trigger é exucutada automaticamente (triggers são como eventos em bancos relacionais) --- vc não tem q fazer nada!

O problema é que, vc está gerando o código no banco, usando esta abordágem só será possível conhecer o código gerado quando vc carregar os registros do banco novamente (close + open).

se vc precisa saber o código no momento da geração, vc deve utilizar um outra abordágem. como não uso DBX, o exemplo que dou é o seginte:

tenha uma Query com o seguinte código:

select gen_id(nome_generator, 1) from rdb$database

sempre, depois de um INSERT ou antes de um POST, execute essa Query, pegue o valor retornado e jogue no campo código.


Abraço


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar