CREATE OR ALTER trigger ttbformulario_b1u for tbformulario
active before update position 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (OLD.FORMULARIO_TIPO_ID <> NEW.FORMULARIO_TIPO_ID) THEN
    BEGIN
       HISTORICO = HISTORICO||' TIPO FORM:'||OLD.FORMULARIO_TIPO_ID||'->'||NEW.FORMULARIO_TIPO_ID;
    END

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

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

    IF(OLD.PERIODO_INI <> NEW.PERIODO_INI) THEN
    BEGIN
       HISTORICO = HISTORICO||' PERIODO INI:'||OLD.PERIODO_INI||'->'||NEW.PERIODO_INI;
    END

    IF(OLD.PERIODO_FIM <> NEW.PERIODO_FIM) THEN
    BEGIN
       HISTORICO = HISTORICO||' PERIODO FIM:'||OLD.PERIODO_FIM||'->'||NEW.PERIODO_FIM;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = ' REGISTRO ALTERADO: '||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBFORMULARIO',NEW.ID, HISTORICO);
    END
END;
