存储过程通过我在phpmyadmin执行错误whille

时间:2017-08-09 06:25:51

标签: mysql phpmyadmin

 create table `pivot` (
 `id` int(11) not null auto_increment,
 `categoryid` int(11) default null,
 `processdate` date default null,
 `percentchange` int(11) default null,
  primary key (`id`)
) engine=myisam auto_increment=9 default charset=latin1;

/*Data for the table `pivot` */

insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (1,4,'2011-05-10',1);
insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (2,4,'2011-05-11',22);
insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (3,4,'2011-05-12',3);
insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (4,7,'2011-05-10',4);
insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (5,7,'2011-05-11',5);
insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (6,12,'2011-05-10',6);
insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (7,12,'2011-05-12',7);
insert  into `pivot`(`id`,`categoryid`,`processdate`,`percentchange`) values (8,4,'2011-05-13',12);



delimiter //
drop procedure if exists dynamic_view2//
create procedure dynamic_view2(in sdate date,in edate date)
begin
declare finish int default 0;
declare cdate date;
declare str varchar(10000) default "select categoryid,";
declare curs cursor for select processdate from pivot where processdate    between sdate and edate group by processdate;
declare continue handler for not found set finish = 1;
open curs;
my_loop:loop
fetch curs into cdate;
if finish = 1 then
leave my_loop;
end if;
set str = concat(str, "max(case when processdate = '",cdate,"' then     percentchange else null end) as `",cdate,"`,");
end loop;
close curs;
set str = substr(str,1,char_length(str)-1);
set @str = concat(str," from pivot
        group by categoryid");

prepare stmt from @str;
execute stmt;
deallocate prepare stmt;
end;//
delimiter ;

Phpmyadmin在执行存储过程时遇到错误。任何人都可以建议在mysql / phpmyadmin中实现枢轴操作的最佳方法,我尝试了大多数方法,但一切都错了。

来自评论:在分析过程中发现了11个错误。无法识别的语句类型。 (接近"过程"在0位置)无法识别的语句类型。 (接近"声明"在134位)无法识别的声明类型。 (靠近"声明"在155位)无法识别的声明类型。 (在"声明"在213位置)无法识别的声明类型。 (接近"声明"在332位置)无法识别的声明类型。 (接近"打开"在388位置)无法识别的声明类型。 (靠近"如果"在438位置)

0 个答案:

没有答案
相关问题