CREATE trigger ttbreferencia_preco_b02i for tbreferencia_preco
active before insert position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.id > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||' Registro Incluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBREFERENCIA_PRECO',NEW.id, HISTORICO);
    END
end;

CREATE OR ALTER trigger ttbreferencia_preco_bd010 for tbreferencia_preco
active before delete position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( old.id > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||' Registro excluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBREFERENCIA_PRECO',old.id, HISTORICO);
    END
end;

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

    HISTORICO = '';

    IF ( NEW.qtd_min <> old.qtd_min) THEN
    BEGIN
        HISTORICO = HISTORICO||' Qtd. Min.:'||old.qtd_min||'->'||new.qtd_min||',';
    END

    IF ( NEW.qtd_max <> old.qtd_max) THEN
    BEGIN
        HISTORICO = HISTORICO||' Qtd. Max.:'||old.qtd_max||'->'||new.qtd_max||',';
    END

    IF ( NEW.valor <> old.valor) THEN
    BEGIN
        HISTORICO = HISTORICO||' Valor.:'||old.valor||'->'||new.valor||',';
    END

    IF ( NEW.data_inicio <> old.data_inicio) THEN
    BEGIN
        HISTORICO = HISTORICO||' Data ini.:'||old.data_inicio||'->'||new.data_inicio||',';
    END

    IF ( NEW.data_fim <> old.data_fim) THEN
    BEGIN
        HISTORICO = HISTORICO||' Data fim.:'||old.data_fim||'->'||new.data_fim||',';
    END

    IF ( NEW.moeda <> old.moeda) THEN
    BEGIN
        HISTORICO = HISTORICO||' Moeda:'||old.moeda||'->'||new.moeda||',';
    END

    IF ( NEW.pagamento_condicao <> old.pagamento_condicao) THEN
    BEGIN
        HISTORICO = HISTORICO||' pag. cond.:('||old.pagamento_condicao||')->('||new.pagamento_condicao||'),';
    END

    IF ( NEW."UPDATE" <> old."UPDATE") THEN
    BEGIN
        HISTORICO = HISTORICO||' Update:'||old."UPDATE"||'->'||new."UPDATE"||',';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBREFERENCIA_PRECO',NEW.id, HISTORICO);
    END
end;

