Problemas para executar trigger

10/12/2003

0

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


Jerônimo

Jerônimo

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

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