我想从存储过程返回输出参数。 我已经在下面的查询中写了,但是输出参数给出了空值
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 ;
有人可以帮我吗?
答案 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;