Problemas para executar trigger

10/12/2003

2

Possuo a sequinte tabela:

CREATE TABLE ´TBL_CONTATO´
(
´COD_PESSOA´´TPRIMARY_KEY´,
´COD_CONTATO´´TPRIMARY_KEY´,
´NOME´´TNOME´,
´TELEFONE´VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE PT_PT,
´FAX´VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE PT_PT,
´CELULAR´VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE PT_PT,
´FUNCAO´VARCHAR(40) CHARACTER SET ISO8859_1 COLLATE PT_PT,
´DT_NASCIMENTO´´TDATA_HOJE´,
PRIMARY KEY (´COD_PESSOA´, ´COD_CONTATO´)
);

O campo COD_CONTATO é um incrementador atualizado através da seguinte trigger:

CREATE TRIGGER ´ONBEFOREINSERTTBL_CONTATO´ FOR ´TBL_CONTATO´
ACTIVE BEFORE INSERT POSITION 0
as
begin
new.cod_contato = gen_id(GEN_CONTATO,1);
end

Estou desenvolvendo este cadastro em Delphi 7 com o componente TClientDataSet...

Quando vou gravar o registro emite a seguinte mensagem ´Field COD_CONTATO must have a value´....

Os comandos q utilizado para dar um post através do TClienteDataSet são os segiuintes:

ClientDataSet.Post;
ClientDataSet.ApplyUpdates(0);

Por q a trigger ñ executa???

Desde já agradeço!!!

Jerônimo Vitória de Andrades
Certa Sistemas de Informação


Responder

Posts

10/12/2003

Raptor

Saudações,

veja se o campo que é atualizado pela Trigger não é um AutoIncrement, se for vc não pode atribuir nenhum valor a ele mesmo que seja por uma trigger, caso seja este o problema coloque o campo como inteiro. Caso não seja isso que vc esteja querendo fazer responda com mais detalhes que se souber lhe ajudarei OK....

Raptor


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar