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在过程中用于返回值,否则使用哪些functionreturns

于 2012-04-12T11:17:38.393 回答