Я надеюсь, что это не просто дублирование этого вопроса .
Я прочитал документацию, но я не думаю, что полностью понимаю, как правильно это использовать.
Я хотел бы отлавливать ошибки, возникающие в моих хранимых процедурах, и записывать эти ошибки в таблицу. Это в основном для экспериментальных целей. Мне интересно, есть ли способ отловить любую ошибку, а затем записать код и ошибку в таблицу.
Пока, похоже, мне нужно объявлять разные обработчики для каждой ошибки. Это правильно или есть способ перехватить все ошибки и получить код и сообщение.
Например, в каждой хранимой процедуре я объявляю пару обработчиков
DECLARE EXIT HANDLER FOR 1062
BEGIN
SELECT 'Attempt to create a duplicate entry occurred';
END;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
SELECT 'Unexpected Error Ocurred';
END;
Вместо
SELECT 'custom message';
Я хочу сделать
INSERT INTO errorLogs(code, message);
Возможно ли это без объявления загрузки обработчиков и добавления каждого кода вручную?
Действительно ценю любую помощь, указывающую мне правильное направление.