MySQL存储过程中用于选择数据的if语句

2024-03-26

我有下面的 SQL 代码:

DELIMITER $$

CREATE PROCEDURE `test`.`new_procedure` (queryString VARCHAR(255))
BEGIN
    SELECT @tempValue = COUNT(*) FROM test.userdata_extended WHERE inn LIKE queryString;
    IF @tempValue > 0 SELECT * FROM test.userdata_extended WHERE inn LIKE queryString;
END $$

我把COUNT*结果变成@tempValue多变的。 然后我尝试比较它是否大于零。

我在比较过程的语句中遇到错误。 MySQL 向我报告UNEXPECTED SELECT SYM错误。这是什么意思?

这也是对其他表的检查。我需要 IF-ELSE 语句,因为基于多个查询结果,我的过程必须返回准确的代码错误值(可能不同),以便我开发的应用程序处理或提供数据(如果一切正常)。

如何解决这个问题?

Thanks


你已经忘记了THEN在你的 if 语句中。您需要添加THEN.

像这样:

IF @tempValue > 0 THEN ...your statement 
END IF;

您还忘记添加END IF;也添加这个。

参考站点在这里 http://dev.mysql.com/doc/refman/5.0/en/if.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL存储过程中用于选择数据的if语句 的相关文章

随机推荐