1

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

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

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
4

1 回答 1

0

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

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

于 2013-05-29T10:54:28.070 回答