[firebase-br] Usando Trigger + Generator

Caio Oliveira news em caiosistemas.com.br
Qui Mar 2 11:19:16 -03 2006


Olá Érico,

Se vc. criou as TRIGGERS semelhantes ao exemplo que lhe passei, a 
mensagem deve estar vindo dos componentes de acesso à dados (Ex. 
ClientDataSet no Delphi), se for o ClientDataSet, por exemplo, modifique 
a propriedade "required" para false nesse campo "ID".

Sds, Caio

Verifica
Erico Teixeira escreveu:
> Olá Caio 
> 
> Eu tinha feito algo parecido com isso, mas eu obtenho um erro dizendo que o
> meu campo id nao pode ser nulo, é como se ele nao estivesse nem passando pela
> trigger
> 
> Eu criei outras triggers para Afeter_Insert e Before_Update mas ocorre o mesmo.
> 
> []s
> Érico
> 
> Caio Oliveira wrote:
>> Olá Érico,
>>
>> Segue um exemplo abaixo:
>>
>> Érico M. Teixeira escreveu:
>>> Boa Tarde Lista,
>>>
>>> Como faço para utilizar triggers com generators em uma aplicação com 
>>> firebird 1.5 com delphi 7 ?
>>>
>> 1.Crie um Generator para a tabela:
>> Ex.:
>>
>> CREATE GENERATOR GEN_SUATABELA;
>>
>> 2.Crie uma TRIGGER para a tabela
>> Ex.:
>>
>> SET TERM ^ ;
>>
>> ^
>> CREATE TRIGGER TG_INCREMENTO FOR SUATABELA
>> ACTIVE BEFORE INSERT POSITION 0
>> AS
>>   BEGIN
>>       if (NEW.ID IS NULL) then
>>       NEW.ID = GEN_ID( GEN_SUATABELA, 1);
>>   END
>> ^
>>
>> SET TERM ; ^
>>
>>> Por exemplo, se eu tenho uma tabela de produtos e quero utilizar um id 
>>> com auto-incremento para cada produto que for cadastrado.
>>>
>>> Daí no form de cadastro de produtos eu associo os campos da tabela com 
>>> quantos dbedit forem necessários com exceção do id da tabela.
>>>
>>> Para realizar o cadastro eu coloco o Clientdataset em modo de Insert e 
>>> após todos os campos preenchidos eu executo o comando Apllyupdate(-1).
>>>
>>> Como posso fazer para que qdo eu execute o Apllyupdate o programa ative 
>>>   uma trigger no banco e esta atribua o valor para o id ?
>>>
>> O resto é por conta do banco de dados; quando o registro for incluso, o 
>> campo "ID" conforme exemplo acima será sempre atualizado com o próximo 
>> valor do generator.
>>
>> Sds, Caio Oliveira
>>
>>
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista