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 $$
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 $$
相关文章推荐
- mysql创建存储过程
- mysql实现创建动态表的存储过程
- mysql 创建存储过程
- MySQL存储过程----创建索引前,先判断索引是否已经存在,如果存在,则不添加,如果不存在,添加
- mysql 创建存储过程 java程序调用该存储过程
- MySQL创建存储过程实例
- MySQL 创建临时时间表 存储过程
- mssql 和 mysql的区别,让自动增长列自动递增就必须指定其他列名,mysql创建事务,如果插入的字符多余字段的值,会报错?截取插入?带输出参数的存储过程,带If else判断
- AMP server mysql 不能创建存储过程解决方法
- Mysql创建存储过程示例_设置变量方法_
- mysql无法创建存储过程问题 ERROR 1307 (HY000)
- mysql存储过程、函数和触发器的创建
- MYSQL在命令行创建存储过程
- mysql创建自定义函数和存储过程
- mysql存储过程之创建存储过程
- MySQL 创建存储过程(MySQL 5.0)
- MySQL 创建存储过程(MySQL 5.0)
- MySQL:MySQL 创建存储过程(MySQL 5.0)
- Mysql创建的定时器去处理存储过程