MySQL throwing error «Оператор не завершен, ожидая, если» при попытке создать процедуру - PullRequest
0 голосов
/ 19 октября 2019

Я пытался создать процедуру в MySQL, но она выдает эту ошибку всякий раз, когда я пытаюсь запустить ее, даже если я указал разделитель. Я новичок в MySQL, поэтому не знаю, что делаю неправильно,Ни у одного из других вопросов нет моей проблемы

delimiter //

create procedure get_count(in com varchar(20))
begin  

  if(com='gre') then
    select count(*) as "No of Employees" from jobs where min_salary > 10000;
  else if(com='eq') then
    select count(*) as "No of Employees" from jobs where min_salary = 10000;
  else if(com='less') then
    select count(*) as "No of Employees" from jobs where min_salary < 10000;
  else
    select ("Invalid");
  end if; 
end //
delimiter ;

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Правильный синтаксис процедуры if-else процедуры MySql:

IF expression THEN
   statements;
ELSEIF elseif-expression THEN
   elseif-statements;
… … … …
ELSE
  else-statements;
END IF;

необходимо исправить else if до elseif

0 голосов
/ 19 октября 2019

Как сказал Сальмон Эльсейф, а не иначе, если

delimiter //

create procedure get_count(in com varchar(20))
BEGIN  

  IF (com='gre') THEN
    SELECT COUNT(*) as "No of Employees" FROM jobs WHERE min_salary > 10000;
  ELSEIF (com='eq') then
    SELECT COUNT(*) as "No of Employees" FROM jobs WHERE min_salary = 10000;
  ELSEIF (com='less') then
    SELECT count(*) as "No of Employees" FROM jobs WHERE min_salary < 10000;
  ELSE
    select ("Invalid");
  END IF; 
END // 
delimiter ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...