如何使用MySql从存储过程中返回结果集?

4
我正在使用MySQL编写存储过程,该存储过程使用select语句返回多行数据。
以下是我的代码:
drop procedure if exists GetAccounts; 
DELIMITER // 
CREATE PROCEDURE GetAccounts() 
BEGIN 
DECLARE rowcount int;
SET @resultset = (SELECT * from requests where STATUS = "FAILURE" ;
END // 
DELIMITER 

有没有示例可以展示如何在存储过程中返回一个resultSet?

谢谢 Gendaful

1个回答

8
DROP PROCEDURE IF EXISTS GetAccounts; 
DELIMITER // 
CREATE PROCEDURE GetAccounts() 
BEGIN 
DECLARE rowcount int;
    SELECT * from requests where STATUS = "FAILURE" ;
END // 
DELIMITER ;

1
谢谢,但我想将resultSet返回给DAO。所以,我认为我必须使用输出参数,对吗? - Gendaful
你在使用任何编程语言吗?比如PHP? - felipsmartins
是的,我正在使用Hibernate调用这个存储过程,期望它返回选定表中的行。 - Gendaful
但是,我应该声明输出变量对吧?否则列表怎么会被返回呢? - Gendaful
不一定!在存储过程中的SELECT语句应该在调用过程时返回行。 - felipsmartins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接