mysql存储过程报错:[Err] 1328 - Incorrect number of FETCH variables

今天在做一个产品升级的时候,需要写存储过程对部分数据进行升级,但其中一个问题纠结了好久:先根据条件查出数据,然后用游标在插入数据到其他表,创建存储过程的时候没有问题,但调用的时候报错:[Err] 1328 - Incorrect number of FETCH variables。百度+google了好一会儿没找到问题原因。因为其中有一个条件判断,是一个动态的变量,开始怀疑是动态变量的问题,但发现不是,然后仔细检查了几遍创建语句,终于发现是在游标在 fetch 的时候查出来的字段和into的字段数量不一样,确保declare cursor for select 的字段数量(包括类型) 和 fetch into 的字段数量一样就没问题了。

将该问题记录于此,希望能给有同样问题的朋友一点帮助!

猜你喜欢

转载自chenhbc.iteye.com/blog/2017870