原因分析:
mysql使用游标取之值得时候出现乱码,主要原因是声明的需要存储中文的变量未设置为utf8。
create procedure test_demo13()
begin
declare e_id int(11);
declare e_name varchar(50) character set utf8;--这里需要设置编码: character set utf8
declare e_age int(11);
declare e_salary int(11);
declare n int default 0;
declare has_date int default 1;
declare emp_result cursor for select * from emp;
declare exit handler for not found set has_date=0;
open emp_result;
while has_date = 1 do
fetch emp_result into e_id,e_name,e_age,e_salary;
select concat('id=',e_id,',name=',e_name,',age=',e_age,',薪资为:',e_salary);
end while;
close emp_result;
end$