2013-02-28 3 views
0
CREATE FUNCTION `work_exp`(id int(11)) RETURNS varchar(255) 
BEGIN 
DECLARE sid varchar(255) 
SELECT group_concat(company_name) INTO sid FROM work_exp where studentid=id 
IF(sid>0) THEN 
RETURN (sid) 
ELSE 
RETURN ('0') 

ответ

4

Причина, почему заявление не удалось:

  • вы не изменить разделитель
  • вы не закончились заявления с ;
  • вы не близко IF заявление с END

запроса:

DELIMITER $$ 
CREATE FUNCTION `work_exp`(id int) 
RETURNS varchar(255) 
BEGIN 

    SET @sid := (SELECT group_concat(DISTINCT company_name) 
       FROM work_exp 
        where studentid=id); 

    IF (CHAR_LENGTH(@sid) <= 0 OR @sid IS NULL) THEN 
     SET @sid := 0; 
    END IF; 

    RETURN @sid; 

END $$ 
DELIMITER ; 
+0

это также выдаст сообщение об ошибке У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' по строке 4 –

+0

@ user2035301 см. мой обновленный ответ. –

0

закрыть «Если» заявление перед возвращением

Смежные вопросы