【问题标题】:How to Get Tables Data in out parameters of Store Procedures in mysqlmysql存储过程out参数获取表数据的方法
【发布时间】:2023-02-08 18:38:10
【问题描述】:

我试图将数据获取到 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。结果由多行组成

你能帮我吗,我是否正确传递了输出参数以及它的数据类型?

请让我知道你对此的回应......

【问题讨论】:

    标签: mysql sql mysql-workbench


    【解决方案1】:

    输出参数只能包含一个值。您正试图通过输出变量返回结果集。这不是输出参数的工作方式。

    您阅读了来自该过程的结果集;无需使用输出变量。

    CREATE PROCEDURE get_initial_data()
    
    BEGIN
    
    SELECT * FROM users;
    SELECT * FROM employees;
    
    END
    

    在您有一个过程调用另一个过程并使用被调用过程的输出的情况下,输出参数很有用。即使这样,您也只能将单个值与输出参数一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      相关资源
      最近更新 更多