DELIMITER //
CREATE PROCEDURE final_arrest ()
AS
cursor c_final_arrest is
select greatest(Week 1,Week 2)as a ,
greatest(Week 1,Week 3) as b ,
greatest(Week 2,Week 3) as c
from arrest
for update;
c_a number;
c_b number;
c_c number;
c_sum number;
c_avg number;
begin
open c_final_arrest;
loop
fetch c_final_arrest into c_a,c_b,c_c;
exit when c_final_arrest % notfound;
if(c_a != c_b)then
c_sum := c_a + c_b;
else
c_sum := c_a + c_c;
end if;
c_avg := c_sum/2;
update arrest set Avg=c_avg
where current of c_final_arrest;
end loop;
close c_final_arrest;
end //
DELIMITER ;
任何人都可以帮我解决这个问题.. !!我无法在mysql中创建此过程....继续收到错误
游标c_final_arrest是 选择最大(第1周,第2周)作为, 最大的(W'第2行
我不知道该怎么做......帮助
如果有人可以提供替代代码,那就太好了!!! !!!
答案 0 :(得分:0)
自从我编写存储过程以来已经有一段时间了 - 但我会看看以下内容:
1)仔细查看间距 - 即将“最大(第1周,第2周)”更改为“最大”(第1周,第2周)为“
2)“a”可以保留 - 我会使用更多描述性的列名 3)列名“周n”包含空格。您可能需要在列名称周围加引号“”或括号[],例如“最大([第1周],[第2周])”