SET TERM ^ ;

CREATE trigger ttbacesso_ip_usuario_b03i for tbacesso_ip_usuario
active before insert position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
DECLARE VARIABLE ACESSO_DESCRICAO VARCHAR(200);

BEGIN

    HISTORICO = '';

    ACESSO_DESCRICAO = COALESCE((SELECT M.DESCRICAO FROM TBACESSO_IP M WHERE M.ID = NEW.ACESSO_IP_ID), '');

    IF ( NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'REGRA DE ACESSO INCLUIDA:'||NEW.ACESSO_IP_ID||' - '||ACESSO_DESCRICAO;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBUSUARIO',NEW.USUARIO_ID, HISTORICO);
    END
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE trigger tbacesso_ip_usuario_bd0 for tbacesso_ip_usuario
active before delete position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
DECLARE VARIABLE ACESSO_DESCRICAO VARCHAR(200);

BEGIN

    HISTORICO = '';

    ACESSO_DESCRICAO = COALESCE((SELECT M.DESCRICAO FROM TBACESSO_IP M WHERE M.ID = OLD.ACESSO_IP_ID), '');

    IF ( OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'REGRA DE ACESSO EXCLUIDA:'||OLD.ACESSO_IP_ID||' - '||ACESSO_DESCRICAO;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBUSUARIO',OLD.USUARIO_ID, HISTORICO);
    END
end
^

SET TERM ; ^

