CREATE OR ALTER trigger tbcartao_bandeira_adq_b01u for tbcartao_bandeira_adquirente
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.CODIGO <> NEW.CODIGO) THEN
    BEGIN
        HISTORICO = HISTORICO||' COD: '||OLD.CODIGO||' -> '||NEW.CODIGO;
    END

    IF ( OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||' DESC: '|| OLD.DESCRICAO||' -> '||NEW.DESCRICAO;
    END

    IF ( OLD.CARTAO_BANDEIRA_ID IS DISTINCT FROM NEW.CARTAO_BANDEIRA_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' BAND.CARTAO: '|| COALESCE(OLD.CARTAO_BANDEIRA_ID, 0)||' -> '||COALESCE(NEW.CARTAO_BANDEIRA_ID, 0);
    END

    IF ( OLD.QTD_PARCELAS <> NEW.QTD_PARCELAS) THEN
    BEGIN
        HISTORICO = HISTORICO||' QTD.PARCELAS: '|| OLD.QTD_PARCELAS||' -> '||NEW.QTD_PARCELAS;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = ' BANDEIRA ALTERADA: '||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBPDV_ADQUIRENTE',NEW.PDV_ADQUIRENTE_ID, HISTORICO);
    END
END;