数据存储过程中发现数据获取不成功.
一 问题描述
存储过程获取查询游标,通过fetch向变量中赋值时不能成功赋值,保存到另一张表示相应字段为NULL.
CREATE DEFINER=`root`@`%` PROCEDURE `test`()
BEGIN
DECLARE name VARCHAR ( 100 );
DECLARE u_cursor CURSOR FOR SELECT name FROM demo.peihu_ext where 1=1;
CREATE TABLE IF NOT EXISTS demo.tb_org ( _id INT PRIMARY KEY auto_increment, name VARCHAR ( 100 ) );
OPEN u_cursor;
WHILE TRUE DO
FETCH u_cursor INTO name;
INSERT INTO demo.tb_org(_id,name) VALUES( NULL, name );
END WHILE;
CLOSE u_cursor;
END
二 产生原因和解决办法
查询的数据没有使用别名将导致数据无法进行正确赋值和保存,查询的结果内容需设置不同于字段的别名.