我想要列的最小数量

时间:2018-04-19 07:53:52

标签: mysql sql

我不知道为什么我有语法错误。 我需要从empleados获得最小数量的salario列。 我在每行注释行,而错误出现在while

Error syntax image

请帮忙,谢谢

DELIMITER $$

DROP FUNCTION IF EXISTS `empresa`.`Minim` $$
CREATE FUNCTION `empresa`.`Minim` () RETURNS INT
BEGIN

declare numregs int;
declare i int default 0;
declare v_minim int default 0;
declare v_salario int default 0;

declare cminim cursor for select salario from empleados;

select count(*) into numregs from empleados;

open cminim;

while i<numregs do
  fetch cminim into v_salario;
  if i=0 then
    v_minim=v_salario;
  end if;
  if i>0 and v_salario<v_minim then
      v_minim=v_salario;
  end if;
  i=i+1;
end while;

return v_minim;

close cminim;

END $$

DELIMITER ;

1 个答案:

答案 0 :(得分:0)

enter image description here

错误已经清楚显示,原因是当您指定变量的值时,您错过了关键作品 set

您需要使用set关键字来指定值

while i<numregs do
  fetch cminim into v_salario;
  if i=0 then
    set v_minim=v_salario; -- use set
  end if;
  if i>0 and v_salario<v_minim then
      set v_minim=v_salario;
  end if;
  set i=i+1;
end while;