Example 11 (Avoiding Division-by-Zero Errors)
This example prevents “divide by zero” errors.
PROCEDURE divide
(IN dividend INT, IN divisor INT, OUT result INT, OUT message CHAR)
BEGIN
DECLARE divide_by_zero EXCEPTION;
IF divisor = 0 THEN
RAISE divide_by_zero value 'Divided by zero error';
END IF;
SET result = dividend/divisor;
EXCEPTION
WHEN divide_by_zero THEN
SET message = CURRENT_EXCEPTION.MESSAGE;
END