如何正确声明处理程序

时间:2015-06-15 00:04:53

标签: mysql handler declaration

我试图将存储过程添加到MySQL方案中 我收到错误ERROR: Error 1193: Unknown system variable 'inner_done' 这是code
我必须注意不知道最后声明哪个处理程序 。它的名字会出错,而宣布的第一个名字肯定是好的。我甚至尝试过使用声明处理程序,例如创建一个新的BEGIN - END块,但错误仍然让我,随机选择要显示的哪个handfler" unknown"

1 个答案:

答案 0 :(得分:1)

由@RyanVincent评论,错误描述inner_done未声明:

DECLARE done, inner_done BOOLEAN DEFAULT FALSE;

将内循环包裹在BEGIN - END块中。

编辑:声明处理程序语句只定义处理程序,因此在需要之前,变量的声明语句将其值更改为条件。

DECLARE inner_done BOOLEAN DEFAULT FALSE;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET inner_done = TRUE;