MySQL其他If语句未执行

时间:2020-01-29 17:29:21

标签: mysql if-statement stored-procedures

无论我创建哪种MySQL程序,第二条ELSE IF语句都将返回零结果。每个Select语句分别运行时将返回结果。我的语法没有问题。抱歉,这是一个简单的解决方法。请帮忙。

  DELIMITER $$

CREATE PROCEDURE TEST(type VARCHAR(7), cat TINYINT)
BEGIN
    IF type = 'coffee' THEN
        Select * FROM specific_coffee WHERE id=cat;
    ELSEIF type = 'goodies' THEN
        Select * FROM non_coffee_products WHERE id=cat;
    END IF;
END $$

2 个答案:

答案 0 :(得分:0)

过程文本正确。

var o = JObject.Parse(json);
o["person"]["name"] = "James";
var backToJson = o.ToString(Formatting.None);
CREATE TABLE specific_coffee
SELECT 1 id, 11 val
UNION ALL
SELECT 2,22
CREATE TABLE non_coffee_products 
SELECT 1 id, 111 val
UNION ALL
SELECT 2,222
CREATE PROCEDURE TEST(type VARCHAR(7), cat TINYINT)
BEGIN
    IF type = 'coffee' THEN
        Select * FROM specific_coffee WHERE id=cat;
    ELSEIF type = 'goodies' THEN
        Select * FROM non_coffee_products WHERE id=cat;
    END IF;
END
id | val
-: | --:
 1 |  11
CALL TEST ('coffee', 1)
id | val
-: | --:
 2 | 222

db <>提琴here

检查数据和参数。

答案 1 :(得分:0)

DELIMITER $$

创建过程测试(type VARCHAR(7),TINYINT目录) 开始 如果type ='coffee'然后 选择'1'; ELSEIF type ='好东西'然后 选择'2'; 万一; 结束$$ 您可以使用type之类的TYPE;