sexta-feira, 30 de março de 2018

Trigger para copiar o valor de um campo adicional para o campo nativo


Campo adicional CODPARCTRANSP:

CREATE OR REPLACE TRIGGER TRG_DUP_CODPARCTRANSP
  BEFORE UPDATE OR INSERT ON TGFCAB FOR EACH ROW
BEGIN

  :NEW.CODPARCTRANSP := CASE WHEN :NEW.TIPMOV = 'V' 
                            THEN ( CASE WHEN :NEW.AD_CODPARCTRANSP IS NULL 
                                       THEN 0 
                                       ELSE :NEW.AD_CODPARCTRANSP 
                                   END ) 
                            ELSE :NEW.CODPARCTRANSP
                        END;

END;
/

---------------------------------------------

Campo adicional Vlr.Frete:

CREATE OR REPLACE TRIGGER TRG_DUP_VLRFRETE
  BEFORE UPDATE OR INSERT ON TGFCAB FOR EACH ROW
BEGIN

  :NEW.VLRFRETE := CASE WHEN :NEW.TIPMOV = 'V' 
                            THEN ( CASE WHEN :NEW.AD_VLRFRETE IS NULL 
                                       THEN 0 
                                       ELSE :NEW.AD_VLRFRETE 
                                   END ) 
                            ELSE :NEW.VLRFRETE
                        END;

END;

/

Nenhum comentário:

Postar um comentário