我试图做以下事情

SELECT CASE @st

WHEN 'emp' THEN CALL empata(NEW.eqvis)

WHEN 'loc' THEN CALL pierde(NEW.eqvis)

WHEN 'vis' THEN CALL gana(NEW.eqvis)

END

INTO @dat;

但我得到了这个:

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CALL empata(NEW.eqvis)

WHEN 'loc' THEN CALL pierde(NEW.eqvis)

WHEN' at line 18

但如果我删除“调用”,我得到一个“功能db.xxx未找到”

我做错了什么?

解决方法:

您可以将您的过程empata,pierde和gana转换为函数,并在下面的第一个示例中使用编码:

-- works

SET @st = 'loc';

SELECT CASE @st

WHEN 'loc' THEN function_(@st)

END

INTO @dat;

SELECT @dat;

我测试了以下场景,但它们不起作用:

-- won't work

SET @st = 'loc';

IF @st = 'loc' THEN

function_(@st);

END IF;

-- won't work

SET @st = 'loc';

SELECT CASE @st

WHEN 'loc' THEN CALL stored_procedure_(@st)

END

INTO @dat;

SELECT @dat;

-- won't work

SET @st = 'loc';

IF @st = 'loc' THEN

CALL stored_procedure_(@st);

END IF;

至少,以上三个实例都没有为我工作..你可以尝试一下,看看哪一个适合自己.

此外,您的问题与此相同:MYSQL Calling stored procedures inside an SELECT CASE on a Trigger ..也由您发布.我不确定主持人将关闭或保留哪一个,所以我也在那里发布这个答案.如果,在另一个场合,你想跟进一个问题,你问的是没有收到你可以接受的答案,只需将其搞砸,这样人们就可以再次看到它.

标签:mysql,stored-procedures

来源: https://codeday.me/bug/20190709/1417165.html

call 在mysql,在MYSQL上选择CASE和CALL程序相关推荐

  1. mysql优化器怎么选择索引,为什么MySQL查询优化器会选择聚集主索引上的二级索引?...

    为什么Mysql优化器在执行'select * from lookup'而没有order by子句时选择二级索引. 它只是一个侥幸,或者这是一个幕后优化,假设你添加了一个二级索引,它比主键更重要. 我 ...

  2. 如何在Ubuntu 18.04上使用Nginx与MySQL服务器一起部署ASP.NET Core应用程序

    The author selected the Open Source Initiative to receive a donation as part of the Write for DOnati ...

  3. MariaDB/MySQL从数据库中选择随机的行

    MariaDB/MySQL从数据库中选择随机的行 一个比较传统的做法是使用sql自带的rand函数,从而达到随机排序的目的. SELECT column FROM table ORDER BY RAN ...

  4. 【超简单】MySQL存储引擎的选择与配置

    [超简单]MySQL存储引擎的选择与配置 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或内存)中.每一种技术都使用不同的存储机构,索引技巧,锁定水平并且最终提供广泛的不同的功能和能力. ...

  5. Mysql在Windows上离线安装与配置

    场景 服务器是Windows Server 2012,内网服务器,无法连接外网,所以安装Mysql只能是 离线安装的方式. 首先到Mysql的官方网站下载离线压缩包 https://dev.mysql ...

  6. archlinux php mysql,arch linux上安装 httpd+php+mysql+ openssl(转)

    arch linux上安装 httpd+php+mysql+ openssl(转)[@more@] 在arch linux安装则是非常的容易,只要执行: # pacman -Sy apache php ...

  7. mac mysql 链接_mac上搭建mysql环境配置和Navicat连接mysql

    mac上搭建mysql环境配置 注意:mysql版本要和你的MAC版本保持一致 2.一路傻瓜式点击下一步 此处选择"Use Legacy Password Encryption", ...

  8. mysql索引为啥要选择B+树 (下)

    有读者在 mysql索引为啥要选择B+树 (上) 上篇文章中留言总结了选择 B+ 树的原因,大体上说对了,今天我们再一起来看看具体的原因. 索引为什么要保存在硬盘中 首先要明白几个概念,服务器存储一般 ...

  9. 最新版MySQL在MacOS上的实践!

    作者 | 王磊 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) 在 MacOS 上安装最新版的 MySQL 有三种方法: 使用 Docker 安装 ...

最新文章

  1. 树莓派3开wifi热点
  2. 批量删除txt文档内容命令_Linux@实用操作命令
  3. snmpset对象不可写_[Python]可变对象与多进程通信
  4. 【2019icpc南京站网络赛 - H】Holy Grail(最短路,spfa判负环)
  5. yii2 mysql update_yii2 + mysql 常用增删改查操作语法以及事务
  6. grunt集成自动启动
  7. jsp 中的时间格式化
  8. 《计算机网络》第七章:应用层(The Application Layer)
  9. 排序算法与常见数据结构
  10. ACT的摘要可以告诉我们的内容
  11. 基于EDA技术的频率计系统设计
  12. Eclipse中去掉代码中的警告Warn
  13. 5款最好的安卓界面设计工具推荐
  14. Java基本控制流程的理解之输出三角形和乘法表
  15. MATLAB添加噪声
  16. 南瓜节(PumpkinFestival)| 终极南瓜系列挑战
  17. ccflow表结构与运行机制(二次开发必看)
  18. 射频信号中的邻道功率比(ACPR)和占用带宽(OBW)与测量方法
  19. 开源?结缘!Towhee 开源社区与上海人工智能实验室 OpenDataLab 成为开源生态合作伙伴
  20. 如何夯实数字经济时代的算力基石?

热门文章

  1. 织梦手机版list.php,织梦一级目录作域名list.php无法跳转到手机站解决方法
  2. 新泰一中2021年高考成绩查询,牛!泰安新泰一中2018年高考一班级62人全部上本科线...
  3. Sublime配置java运行环境
  4. Linux下的Python Socket网络编程(聊天机器人)
  5. CUDA——线程配置
  6. 浅谈Object Pascal的指针
  7. 2019牛客多校第四场 I题 后缀自动机_后缀数组_求两个串de公共子串的种类数
  8. [SDOI2015] 序列统计
  9. 001 spring介绍
  10. Android studio第四次作业