我这个存储过程错在那里了,怎么修改?源代码如下:

delimiter //
CREATE PROCEDURE p_Select_CurSubNode(iCategoryId Int,inout sSubIdList VARCHAR(5000))
BEGIN
if(sSubIdList is null) then
SET sSubIdList='';
end if;
DECLARE iID int;
DECLARE no_more_nodes int;
DECLARE SubNode_Cursor CURSOR FOR SELECT Cat_ID FROM t_a_Category Where Cat_ParentId=iCategoryId;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_nodes=1;
SET no_more_nodes=0;
OPEN SubNode_Cursor;
REPEAT
FETCH SubNode_Cursor INTO iID;
call p_Select_CurAndSubNodeAttachs(in iID,inout sSubIdList);
UNTIL no_more_nodes
END REPEAT;
CLOSE SubNode_Cursor;
End