为什么不简单如果ELSE语句在mySql中工作 [英] Why won't simple If ELSE Statement work in mySql
问题描述
我正在尝试使用SQLYog中针对mySql数据库的if else语句创建一个简单的存储过程。我不太熟悉mySql语法所以我希望它简单但我不知道为什么这不起作用
I'm trying to create a simple stored procedure with an if else statement in SQLYog against a mySql db. I'm not overly familiar with mySql syntax so i'm hoping it's something simple but I just can't see why this isn't working
CREATE PROCEDURE p(IN Number INT)
IF NUMBER = 1 THEN
SELECT * FROM tblProduct WHERE ProductID = Number
ELSE SELECT * FROM tblProduct WHERE ProductId = 2
END IF
如果有人能帮我这个并告诉我在哪里我会很感激我错了。
感谢您的阅读。
I'd appreciate if anyone can help me with this and tell me where i'm going wrong. Thanks for reading.
当我尝试执行时,我得到以下信息:
I get the following when I try to execute:
错误代码:1064
您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在'ELSE SELECT * FROM tblProduct附近使用正确的语法,其中intProductId = 2
END IF'在第5行
推荐答案
MySQL中的语句由分号分隔。要用它们创建程序,你会做一个小技巧:
Statements in MySQL are delimited by semicolons. To create procedures with them, you do a little trick like so:
DELIMITER //
CREATE PROCEDURE p(IN Number INT)
BEGIN
IF NUMBER = 1 THEN
SELECT * FROM tblProduct WHERE ProductID = Number;
ELSE
SELECT * FROM tblProduct WHERE ProductId = 2;
END IF;
END //
DELIMITER ;
查看文档。
这篇关于为什么不简单如果ELSE语句在mySql中工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!