您的位置:首页 > 数据库 > MySQL

MYSQL创建存储过程

2016-08-16 08:48 369 查看
delimiter $$
drop procedure if exists student_score $$
create procedure student_score()
begin
declare ifStmt varchar(2000) default '';
declare done boolean default false;
declare c varchar(40);
declare cur cursor for select distinct course from scores;
declare continue handler for not found set done=true;

set @queryStmt:='';
open cur;
fetch cur into c;

while not done do
set ifStmt=concat(ifStmt,',MAX(IF(course=\'',c,'\',score,0)) AS ',c);
fetch cur into c;
end while;
close cur;
set @queryStmt:=concat('select student',ifStmt,' from scores group by student');

prepare stmt from @queryStmt;
execute stmt;

end $$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: