MySQL - 使用嵌套存储过程的结果

时间:2013-05-29 10:48:11

标签: mysql stored-procedures

有没有办法在另一个存储过程中使用存储过程的返回值?

只是一个非常基本的理论范例:

CREATE PROCEDURE `user_read_name_and_email` (
    IN `param_user_id` INT
)
BEGIN
    DECLARE `current_user` SET;
    SET `current_user` = CALL `user_read`(`param_user_id`);
    SELECT `user_name`, `user_email` FROM `current_user`;
END


CREATE PROCEDURE `user_read` (
    IN `param_user_id` INT
)
BEGIN
    SELECT * FROM `user` WHERE `user_id` = `param_user_id`;
END

1 个答案:

答案 0 :(得分:0)

我认为唯一的解决方法是使用临时表。

您可以在MS SQL Server 2008中使用您的示例 - 您可以将存储过程的输出分配给某个变量。