本章前面提到,DECLARE语句还可以指定发生一定情况[即条件(condition)]时执行的处理器(handler)。例如,本章前面在calc bonus过程中使用了一个处理器,以确定对结果集的迭代何时结束。这需要两个声明,一个名为finished的变量和一个对应NOT FOUND条件的处理器:
进入迭代循环之后,每次迭代时会检查finished,如果它为l,则退出循环:
MySQL支持各种在必要时有反应的条件,更多信息参见MySQL文档。