SET TERM ^ ;

CREATE OR ALTER trigger ttbtef_param_afiliacoes_b03i for tbtef_parametros_afiliacoes
active before insert position 0
AS
DECLARE VARIABLE ERROR_MSG VARCHAR(500);
DECLARE VARIABLE JA_EXISTENTE INTEGER;
begin
    FOR
        SELECT FIRST 1
            T.ID
        FROM TBTEF_PARAMETROS_AFILIACOES T
        WHERE T.ADQUIRENTE_ID = NEW.ADQUIRENTE_ID
        AND T.TEF_ID = NEW.TEF_ID
    INTO
        :JA_EXISTENTE
    DO
    BEGIN

        :ERROR_MSG = '';

        IF(:JA_EXISTENTE > 0) THEN
        BEGIN
            :ERROR_MSG = :ERROR_MSG || '<span>JÁ EXISTE UMA AFILIAÇÃO COM ADQUIRENTE SELECIONADO!</span>';
            :ERROR_MSG = :ERROR_MSG || '<span>OPERAÇÃO CANCELADA.</span>';

            EXCEPTION "..." :ERROR_MSG;
        END
    END
end
^

SET TERM ; ^


SET TERM ^ ;

CREATE trigger ttbtef_parametros_b03d for tbtef_parametros
active before delete position 0
AS
begin
    IF(OLD.ID > 0) THEN
    BEGIN
        DELETE FROM TBTEF_PARAMETROS_AFILIACOES WHERE TEF_ID = OLD.ID;
        DELETE FROM TBTEF_PARAMETROS_CAIXAS WHERE TEF_ID = OLD.ID;
    END
end
^

SET TERM ; ^


