mysql函数返回设置数据

时间:2016-08-12 23:44:42

标签: mysql

我试图让一个存储过程/函数返回一个设置数据类型,但是当我尝试时,我得到了#34;你的SQL语法中有一个错误...附近有一个错误。返回(' one');"。有什么指针吗?这是我第一次尝试使用存储过程...谢谢!

delimiter //
create function getset (set_type enum('a','b','c'))
    returns set('one','two','three')
    deterministic
begin
  case set_type
    when 'a'
        return ('one');

    when 'b'
        return ('one,two');

    when 'c'
        return ('one,two,three');
end//
delimiter ;

1 个答案:

答案 0 :(得分:1)

CASE的语法是:

CASE case_value
    WHEN when_value THEN statement_list
    [WHEN when_value THEN statement_list] ...
    [ELSE statement_list]
END CASE

您遗漏了所有THEN个关键字和END CASE。它应该是:

  case set_type
    when 'a'
        then return ('one');

    when 'b'
        then return ('one,two');

    when 'c'
        then return ('one,two,three');

  end case;

错误消息清楚地表明问题在return关键字附近。它与数据类型无关,这是语法错误。