mysql - MySQL Else If 语句未执行
问题描述
无论我创建什么 MySQL PROCEDURE,第二个 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 $$
解决方案
过程文本是正确的。
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
CALL TEST ('coffee', 1)
编号 | 值 -: | --: 1 | 11
CALL TEST ('goodies', 2)
编号 | 值 -: | --: 2 | 222
db<>在这里摆弄
检查您的数据和参数。
推荐阅读
- javascript - 使用 jsforce 创建 Salesforce 联系人列表视图
- azure - 备份 Blob 存储帐户中的数据
- discord.js - Discord.js 消息在每次执行后重复
- microservices - 为什么我的 kong 网关 api 不授权 Web 服务访问微服务?
- javascript - Froala imageUploadToS3 使用 Javascript 返回“解析响应失败”
- javascript - 如何将 Firestore 文档值更新为与当前布尔值相反的值?
- regex - 正则表达式匹配一些字符而不匹配其他字符组合
- ios - 如何转换表示 tensorflowlite 时间序列数据的 3d 数组....注意该模型适用于 python,现在移植到 swift
- deployment - 在 Travis-CI 中部署到 GitHub 页面:将上传哪些文件?
- python - 无法使用 BeautifulSoup 抓取特定表