delimiter @@
create procedure dolist9 ()
begin
declare str1 , str2 varchar (20) ;
declare results varchar (2000) def;
declare flag boolean default true ;
declare cur cursor for select name,homeaddr from baseinfo ;
declare continue handler for not found set flag=false ;
open cur ;
while flag do
fetch cur into str1 , str2 ;
if (left(str1,1)='陈')
then set results = concat(str1 ,str2) ;
end if ;
end while ;
close cur ;
select results ;
end @@
delimiter ;
baseinfo中已经有了name和homeaddr两列,一共是237行,运行call dolist9 时报错incorrect string value
name的类型是varchar(50) homeaddr类型是varchar(255) 但是varchar(20)是完全可以分别装下name列值和homeaddr列值的。
过程的作用是判断名字是不是姓陈然后把姓陈的人和住址连起来。
求大家帮我看看这个应该怎么改。先多谢大家!