zilcuanu
zilcuanu

Reputation: 3715

stored procedure in mysql returning null

I have the following table created in mysql database.

create table stud_info(Student_ID int,Name varchar(10),Class varchar(10),Marks int)

I have also created a stored procedure to retrieve the name given the id like below:

DELIMITER //
create procedure selectEmp2(IN num1 INT,OUT name varchar(20))
BEGIN
select Name INTO name from myDB.stud_info where Student_ID=num1;
END//

When I am calling the stored procedure , I am getting null value. Please let me know where I am going wrong.

Upvotes: 2

Views: 126

Answers (2)

Vysakh
Vysakh

Reputation: 93

Try this:

DELIMITER //
create procedure selectEmp2(IN _num1 INT,OUT _name varchar(20))
BEGIN
select Name INTO _name 
from myDB.stud_info 
where Student_ID=_num1;
END//

Upvotes: 1

Gordon Linoff
Gordon Linoff

Reputation: 1269513

I think your stored procedure should work, but I would advise giving names to parameters that are likely to be unique. I also prefer explicit variable assignment, because select into can mean different things. Does this work?

DELIMITER //
create procedure selectEmp2(IN in_num1 INT, OUT out_name varchar(20))
BEGIN
    select si.Name into out_name
    from myDB.stud_info si
    where si.Student_ID = in_num1;
END;//

Upvotes: 1

Related Questions