我有下一个 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 语句,因为基于多个查询结果,如果一切正常,我的过程必须返回准确的代码错误值(可能不同),以便我开发的应用程序处理或提供数据。
如何解决这个问题?
谢谢
最佳答案
您忘记了 if 语句中的 THEN
。您需要添加 THEN
。
像这样:
IF @tempValue > 0 THEN ...your statement
END IF;
您还忘记添加 END IF;
也添加这个。
关于mysql - MySQL存储过程中的if语句,用于选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520215/