Neste caso a Exception para todos os erros grava em uma tabela de log o erro encontrado isso se torna interessante na hora da depuração.
CREATE PROCEDURE SP_LOGON_EXCLUI (
CODIGOLOGON INTEGER)
AS
DECLARE VARIABLE VNOME VARCHAR(100);
BEGIN
SELECT LOGON
FROM LOGON L, ACESSOS A
WHERE L.CODIGOLOGON = A.CODIGOLOGON INTO :VNOME;
DELETE FROM LOGON
WHERE CODIGOLOGON = :CODIGOLOGON ;
WHEN ANY DO
BEGIN
INSERT INTO LOG (LOG)
VALUES (CAST(SQLCODE AS VARCHAR(10)) || ‘ ERRO ‘);
END
END
