我试图将数据放入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条答案
按热度按时间1tu0hz3e1#
输出参数只能包含一个值。您正在尝试通过输出变量返回结果集。这不是输出参数的工作方式。
读取来自过程的结果集;不需要使用输出变量。
当您有一个过程调用另一个过程并使用被调用过程的输出时,输出参数非常有用。即使这样,也只能对输出参数使用单个值。