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
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
Curtir tópico
+ 0
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
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
Clique aqui para fazer login e interagir na Comunidade :)