trigger nao fuciona

Firebird

18/03/2005

OLÁ PESSOAL,

EU TENHO O SEGUINTE CODIGO NESSA TRIGGER ABAIXO EM UMA TABELA DE CLIENTES ONDE EU PRECISO Q AO MUDAR O CAMPO FORMAPGTO ELE PESQUISE ALGUNS DADOS EM OUTRA TABELA E O RESULTADO DA PESQUISA ELE VAI ADICIONAR NA MESMA TABELA DE CLIENTES ONDE ESTA A TRIGGER EU FIZ A TRIGGER ABAIXO ELA COMPILOU SEM NENHUM ERRO MAS QUANDO EU ALTERO O CAMPO FORMAPGTO OS OUTROS CAMPO Q DEVEM SER ALTERADOS NAUM MUDAM.ALGUEM TEM UMA LUZ AÍ?

IF (OLD.FORMAPGTO <> NEW.FORMAPGTO) THEN
BEGIN
SELECT C.CODRN30D,C.CODRNFU,C.CODRNFM,C.CODRN30DTEMP,C.CODRNFUTEMP,C.CODRNFMTEMP
FROM TABCAMPANHA C WHERE C.CODIGO=OLD.CODCAMPANHA
INTO :RN30D,:RNFU,:RNFM,:RN30DTEMP,:RNFUTEMP,:RNFMTEMP;

IF (NEW.FORMAPGTO=1) THEN
BEGIN
OLD.CODRN=:RNFM;
OLD.CODRNTEMP=:RNFMTEMP;
END
IF (NEW.FORMAPGTO=2) THEN
BEGIN
OLD.CODRN=:RNFU;
OLD.CODRNTEMP=:RNFUTEMP;
END
IF (NEW.FORMAPGTO=3) THEN
BEGIN
OLD.CODRN=:RN30D;
OLD.CODRNTEMP=:RN30DTEMP;
END

END


Tap_pedroso

Tap_pedroso

Curtidas 0

Respostas

Afarias

Afarias

18/03/2005

1) vc não mostrou mas pra garantir, essa trigger tem q ser BEFORE update

2) vc deve difinir os valores de NEW.campo e não OLD (que deveria ser apenas READ ONLY -- isso foi corrigido no FB 2)



T+


GOSTEI 0
Tap_pedroso

Tap_pedroso

18/03/2005

blz afarias co new.campo funcionou obrigado.


GOSTEI 0
POSTAR