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

时间:2013-07-08 06:18:57

标签: mysql stored-procedures if-statement

我有下一个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语句,因为基于几个查询结果,我的程序必须返回我开发的应用程序处理或提供数据的确切代码错误值(可能不同),如果一切正常的话。

如何解决此问题?

由于

2 个答案:

答案 0 :(得分:1)

您忘记了if语句中的THEN。您需要添加THEN

像这样:

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

您还忘记添加END IF;也添加此内容。

Reference site is here

答案 1 :(得分:0)

您忘记了THENEND IF;

IF @tempValue > 0 THEN 
      SELECT * FROM test.userdata_extended WHERE inn LIKE queryString;
END IF;