如果
SQL 错误代码或 ISAM
错误代码与错误号列表中的异常代码相匹配,则会俘获错误。在错误列表中的搜索重左边开始,并在搜索到第一个匹配时停止。可以使用没有 IN 子句的 ON EXCEPTION
语句和具有 IN
子句的一个或多个 ON EXCEPTION 语句的组合。当出现错误时,数据库服务器搜索捕获特殊错误代码的 ON EXCEPTION
语句的最后一个声明。
CREATE PROCEDURE ex_test()
DEFINE error_num INT;
...
ON EXCEPTION SET error_num
-- action C
END EXCEPTION
ON EXCEPTION IN (-300)
-- action B
END EXCEPTION
ON EXCEPTION IN (-210, -211, -212) SET error_num
-- action A
END EXCEPTION
在上一示例中的语句序列总结为:
- 测试是否有错误。
- 如果出现错误 -210 、-211 或 -212 ,则采取操作
A。
- 如果出现错误 -300 ,则采取操作 B。
- 如果出现任何其它错误,则采取操作 C。