0

MySQLで関数をストアドプロシージャとして定義したいと思います。

私は次の手順を試しました:

DELIMITER //
CREATE PROCEDURE getGroupUsers(IN groupId int) return curser

BEGIN
 Declare services_curs cursor for SELECT `service_id`,`service_name`,`service_type_value`,`service_label`,`parent`,`service_group` from services;

open services_curs;

return services_curs;

END //

DELIMITER ;

しかし、エラーが発生します:

#1313 - RETURN is only allowed in a FUNCTION

これはひどい構文エラーであることを私は知っています。正しい構文は何ですか?

4

2 に答える 2

2

プロシージャーではOUT変数を使用できます。変数は入力され、プロシージャーの外で使用できます。上記のように、MySQL プロシージャは値を返しません。あなたはstored functionそれを達成する必要があります。

OUT変数の使用方法に関する小さな例は、ドキュメントにあります

于 2012-04-12T11:20:58.403 に答える
0

select値を返すためのプロシージャで使用します。それ以外の場合は、どの値を使用しfunctionますreturns

于 2012-04-12T11:17:38.393 に答える