无论我创建哪种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 $$
答案 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;