Чтобы продолжить выполнение, установите переменную состояния в a CONTINUE обработчик, который можно проверить в заключающем блоке, чтобы определить, был ли обработчик вызван . В следующем примере для этой цели используется переменная done:
CREATE PROCEDURE p ()
BEGIN
DECLARE i INT DEFAULT 3;
DECLARE done INT DEFAULT FALSE;
retry:
REPEAT
BEGIN
DECLARE CONTINUE HANDLER FOR SQLWARNING
BEGIN
SET done = TRUE;
END;
IF done OR i < 0 THEN
LEAVE retry;
END IF;
SET i = i - 1;
END;
UNTIL FALSE END REPEAT;
END;