单表关联的级联更新问题

部门管理问题:
每一个部门都有父部门和子部门,如果部门的pid为0的话表示为根部门
表结构如下:

图片说明

如上图,当id为1的部门pid改为2时,i_level则变为2,那么他下面的子部门的i_level也应该改变为父部门的level+1,通过什么解决这个级联更新的问题呢,调用存储过程吗?希望大家可以给些思路

update table A, table B set A.i_level = 2, B.i_level = 3 where A.i_level = 1 and b.i_level = 2