CREATE OR ALTER TRIGGER TBNFE_B03I FOR TBNFE
ACTIVE BEFORE INSERT POSITION 3
AS
DECLARE VARIABLE CTR_CHAVE_ACESSO_EXISTENTE INTEGER;
BEGIN
    SELECT FIRST 1
        T.CONTROLE
    FROM TBNFE T
    WHERE T.CONTROLE <> NEW.CONTROLE
    AND T.CHAVE_ACESSO = NEW.CHAVE_ACESSO
    INTO :CTR_CHAVE_ACESSO_EXISTENTE;

    IF(COALESCE(:CTR_CHAVE_ACESSO_EXISTENTE, 0) > 0) THEN
    BEGIN
        EXCEPTION "..."'DOCUMENTO FISCAL COM A CHAVE DE ACESSO '||TRIM(NEW.CHAVE_ACESSO)|| ' JA GRAVADO NO SISTEMA';
    END
END;