如何在mysql存储过程的out参数中获取表数据

fdbelqdn  于 2023-02-11  发布在  Mysql
关注(0)|答案(1)|浏览(148)

我试图将数据输入到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......

kd3sttzy

kd3sttzy1#

输出参数只能包含单个值。您正试图通过输出变量返回结果集。这不是输出参数的工作方式。
读取来自过程的结果集;不需要使用输出变量。

CREATE PROCEDURE get_initial_data()

BEGIN

SELECT * FROM users;
SELECT * FROM employees;

END

当一个过程调用另一个过程并使用被调用过程的输出时,输出参数非常有用。即使在这种情况下,也只能对输出参数使用单个值。

相关问题