为什么不简单如果ELSE语句在mySql中工作 [英] Why won't simple If ELSE Statement work in mySql

查看:198
本文介绍了为什么不简单如果ELSE语句在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆