gpt4 book ai didi

MySQL 存储过程 - 如果此时不起作用

转载 作者:行者123 更新时间:2023-11-29 10:34:49 24 4
gpt4 key购买 nike

我正在将 SQL Server 存储过程转换为 MySQL,但遇到了问题。我有一个带有 IF THEN ELSE 的存储过程,虽然没有给出错误,但也没有返回任何数据,而且我没有看到解决它的问题。查询本身是正确的并返回数据,但似乎在存储过程中不起作用。这是真实查询的简化版本,仅供引用。

创建存储过程的SQL是:

    DROP PROCEDURE IF EXISTS `sp_GetVolunteerAwardsList`;
DELIMITER //

CREATE PROCEDURE `sp_GetVolunteerList`( IN glAward_in int)
BEGIN
DECLARE glAward_In INT;
DECLARE awardType_In varchar(100);
DECLARE awardActive INT;

IF (glAward_In) = 0 THEN
SELECT * FROM tbl_volunteer
ELSEIF (glAward_In) = 1 THEN
SELECT * FROM tbl_volunteerpositions
END IF;
END
//

一如既往,我们将不胜感激任何帮助。

最佳答案

检查 glAward_In 参数或变量。SP 正在接收参数 glAward_in,i 为小写。然后有一个DECLARE声明了一个不同的变量glAward_In,i是大写的。

if 是使用大写的 glAward_In 完成的,它没有在 SP 的任何位置设置。并且小写参数在 SP 中没有任何地方使用。

我认为你必须删除大写变量的 DECLARATION,并使用小写的参数进行 IF 评估。

关于MySQL 存储过程 - 如果此时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46633811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com