SET TERM ^ ; CREATE OR ALTER trigger ttbgestao_notif_cliente_b01iu for tbgestao_notif_cliente active before insert or update position 2 AS DECLARE VARIABLE ERRORS VARCHAR(2000); DECLARE VARIABLE QUERY_STATUS VARCHAR(500); DECLARE VARIABLE QUERY_TIPO_NOTIFICACAO VARCHAR(500); BEGIN :QUERY_STATUS = COALESCE(( SELECT FIRST 1 T.ID FROM TBGESTAO_NOTIF_CLIENTE T WHERE T.ID_SERVIDOR = NEW.ID_SERVIDOR AND T.STATUS = 1 AND T.ID <> NEW.ID ), ''); :ERRORS = ''; IF (CHAR_LENGTH(:QUERY_STATUS) > 0 AND NEW.STATUS = 1) THEN BEGIN :ERRORS = :ERRORS || 'Não é possível ter duas notificações ativas no mesmo servidor.'; END IF (CHAR_LENGTH(:ERRORS) > 0) THEN BEGIN EXCEPTION "..." :ERRORS; END END ^ SET TERM ; ^