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

2 に答える 2

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 ;
于 2013-02-28T04:31:05.073 に答える
0

return の前に 'If' ステートメントを閉じる

于 2013-02-28T04:32:38.893 に答える