Обработка ошибок MySQL с сигналом / отставкой

Я хотел бы проверить действительные типы нагрузки. Если тип загрузки, переданный в мою процедуру, недопустим, я хочу выдать сообщение об ошибке через SIGNAL. Я также хочу иметь универсальный обработчик EXIT для любых других непредвиденных ошибок, которые будут откатывать любые изменения. Проблема в том, что универсальный обработчик EXIT имеет приоритет над моим пользовательским СИГНАЛОМ, и все, что я получаю, это "SQLException встретился" Если я не удаляю универсальный обработчик EXIT, в этом случае я получаю «Тип загрузки неверен».

code:

DECLARE incorrect_load_type CONDITION FOR SQLSTATE '22012';

DECLARE EXIT HANDLER FOR incorrect_load_type 
RESIGNAL SET MESSAGE_TEXT = 'Load type is incorrect';

DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING 
  begin
    SELECT 'SQLException encountered';
    rollback;
end;

IF(v_load_type != 'CORRECT TYPE') THEN 
 SIGNAL incorrect_load_type;
END IF;

Ответы на вопрос(1)

Ваш ответ на вопрос