Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to return multiple rows using Stored Procedure

I am new to Stored Procedure. I have written a query to get multiple rows. But I am getting error like

Error Code: 1172. Result consisted of more than one row.

Should I use CURSOR type?

Here my query and table structure.

My table structure is:

+---+------+------+---------+
|id | name | class| section |
+---+------+------+---------+
|1  |abc   |5     | A       |
|2  |cdef  |5     | B       |
|3  |hikl  |5     | A       |
|4  |xyz   |5     | A       |
+---+------+------+---------+

My Stored procedure query is

CREATE DEFINER=`root`@`localhost` PROCEDURE `mulitiOut`(out namee VARCHAR(50))
BEGIN
select name into @namee from mytable where section = A;
END

How can I return all the name related to section A.

like image 904
inba Avatar asked Mar 24 '26 06:03

inba


1 Answers

You can return a result set directly from a procedure:

CREATE DEFINER=`root`@`localhost` PROCEDURE `mulitiOut`()
BEGIN
 SELECT name FROM mytable WHERE section = A;
END
like image 157
vhu Avatar answered Mar 26 '26 19:03

vhu