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

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

如何解决这个问题?

谢谢

最佳答案

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

像这样:

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

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

Reference site is here .

关于mysql - MySQL存储过程中的if语句,用于选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520215/

相关文章:

php - 如何在浏览器中运行http url后通过echo显示结果

MYSQL - 使用 where 和 filesort

mysql - 使用 SSL pem key 连接到 AWS RDS 上的 MySQL

c# - 通过查询调用存储过程并在没有输出参数的情况下在C#中获取返回值

python-3.x - 如何在列表中追加项目以供稍后在 If 语句中使用

mysql - 从mysql命令删除系统文件

MySQL从动态数据库和表查询中选择

mysql - 如何自动增加一个值

sql - Postgresql 仅连接非空字符串

c++ - 需要帮助将函数从 C++ 移植到 Ocaml