Fórum trigger nao fuciona #49912
18/03/2005
0
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
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
Curtir tópico
+ 0
Responder
Posts
19/03/2005
Afarias
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+
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+
Responder
Gostei + 0
19/03/2005
Tap_pedroso
blz afarias co new.campo funcionou obrigado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)