我试图将数据输入到MySQL中存储过程的输出参数中,但我没有得到它。
这就是问题所在
创造
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_initial_data`(
out usersData varchar(500),
out employeesData varchar(500)
)
BEGIN
SELECT * into usersData FROM users;
SELECT * into employeesData FROM employees;
END
来电
Call get_initial_data(@users, @employees)
select @users
select @employees
我试过了,我可以创建存储过程,但不能调用,它给了我这个错误...
错误代码:1172.结果包含多行
你能帮我一下吗?我传递的输出参数正确吗?数据类型也正确吗?
请让我知道你对此的React......
1条答案
按热度按时间kd3sttzy1#
输出参数只能包含单个值。您正试图通过输出变量返回结果集。这不是输出参数的工作方式。
读取来自过程的结果集;不需要使用输出变量。
当一个过程调用另一个过程并使用被调用过程的输出时,输出参数非常有用。即使在这种情况下,也只能对输出参数使用单个值。