BEGIN
UPDATE tb_department s JOIN (SELECT a.id,@rownum:= LPAD(CAST(@rownum+1 as char(10)),3,0) inde
FROM
(SELECT id,parent_order,self_order,parent_id,topid FROM tb_department g where g.parent_id = parentId ORDER BY parent_order asc, self_order asc) a, (SELECT @rownum :='000', @pxydm := NULL,@rank:='000') b) c ON s.id = c.id SET s.self_order=c.inde;
#Routine body goes here...
END