有没有办法在另一个存储过程中使用存储过程的返回值?
只是一个非常基本的理论范例:
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
答案 0 :(得分:0)
我认为唯一的解决方法是使用临时表。
您可以在MS SQL Server 2008中使用您的示例 - 您可以将存储过程的输出分配给某个变量。