如何在mysql存储过程中返回输出参数

时间:2018-12-04 16:53:05

标签: c# mysql stored-procedures output-parameter

我想从存储过程返回输出参数。   我已经在下面的查询中写了,但是输出参数给出了空值

CREATE DEFINER=`root`@`%` PROCEDURE `GetVendorSpecificReport`(
  startdate DATE,
  enddate DATE,
   vendorname  varchar(50),
out vendoremail varchar(50)
)
BEGIN

SELECT email into vendoremail from user where FirstName=@vendorname;

select distinct concat(u.Firstname, ' ', u.Lastname) as Name, 
u.FirstName,  t.subtask, u.NTName, from user U, task t, groupuser g, `group` g1
where  U.idUser= t.userid and g.userid= U.idUser
and g1.name=vendorname and date >= startdate and date <= enddate
order by  date,u.FirstName asc;

END $$

DELIMITER ;

有人可以帮我吗?

1 个答案:

答案 0 :(得分:-1)

您应在代码中将“ @vendorname”替换为“ vendorname”。 您可以尝试简化代码或创建另一个非常简单的测试SP进行检查。

以下是在我的系统中正常运行的简单SP:

DELIMITER $$
CREATE PROCEDURE `z`(
    IN `a` INT,
    OUT `b` INT
)
BEGIN
    SELECT a + 1 into b;
END;
$$

DELIMITER ;

CALL z(1, @x);
SELECT @x;