2016-08-12 11 views
0

設定データ型を返すストアドプロシージャ/関数を取得しようとしていますが、試してみると「SQL構文にエラーがあります。 '1');"。すべてのポインタ?ストアドプロシージャで試してみるのは初めてです...ありがとう!設定データを返すmysql関数

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

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キーワードの近くにあると述べています。それはデータ型とは何の関係もなく、構文エラーです。

関連する問題