例 9 (例外処理)

この例は、EXCEPTION を上げる方法を示しています。

PROCEDURE exception_example (OUT has_error INT) 
BEGIN
  DECLARE too_many_categories EXCEPTION;
  DECLARE no_categories EXCEPTION;
  DECLARE category_count INT DEFAULT 0;
  SELECT COUNT (Categories.CategoryName) INTO category_count
    FROM /shared/access/Categories Categories;
  IF category_count > 5 THEN
    RAISE too_many_categories;
  ELSEIF category_count = 0 THEN
    RAISE no_categories;
  END IF;
  SET has_error = 0;
EXCEPTION
  WHEN too_many_categories OR no_categories THEN
    SET has_error = 1;
END