2

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

如何解决这个问题?

谢谢

4

2 回答 2

1

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

像这样:

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

您也忘记添加END IF;add this 了。

参考网站在这里

于 2013-07-08T06:25:35.843 回答
0

你忘了THENEND IF;

IF @tempValue > 0 THEN 
      SELECT * FROM test.userdata_extended WHERE inn LIKE queryString;
END IF;
于 2013-07-08T06:28:37.667 回答