【问题标题】:How to return output paramter in mysql store procedure如何在mysql存储过程中返回输出参数
【发布时间】:2018-12-04 16:53:04
【问题描述】:

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

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 ;

谁能帮我解决这个问题?

【问题讨论】:

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


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 2016-10-30
      • 2013-01-11
      • 1970-01-01
      • 2012-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多