【发布时间】:2018-05-12 16:33:21
【问题描述】:
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 中创建此过程....不断收到错误
1064 - 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 'AS 附近使用的正确语法
光标 c_final_arrest 是 选择最大(第 1 周,第 2 周)作为 , 最大(第 2 行的 W'
我不知道该怎么办...帮助
如果有人可以提供替代代码,那就太好了...!!!
【问题讨论】:
-
在字段上放置`符号
-
还是同样的错误
-
这是什么? “AS cursor c_final_arrest is”我不认为它应该在那里
-
第一个错误是缺少
BEGIN;稍后您会丢失DECLARE。
标签: mysql stored-procedures mariadb