mysql goto,如何在MySQL存储函数中使用goto标签
I would like to use goto in MySQL stored function.
How can I use?
Sample code is:
if (action = 'D') then
if (rowcount > 0) then
DELETE FROM datatable WHERE id = 2;
else
SET p=CONCAT('Can not delete',@b);
goto ret_label;
end if;
end if;
Label: ret_label;
return 0;
解决方案
There are GOTO cases which can't be implemented in MySQL, like jumping backwards in code (and a good thing, too).
But for something like your example where you want to jump out of everything to a final series of statements, you can create a BEGIN / END block surrounding the code to jump out of:
aBlock:BEGIN
if (action = 'D') then
if (rowcount > 0) then
DELETE FROM datatable WHERE id = 2;
else
SET p=CONCAT('Can not delete',@b);
LEAVE aBlock;
end if;
end if;
END aBlock;
return 0;
Since your code is just some nested IFs, the construct is unnecessary in the given code. But it makes more sense for LOOP/WHILE/REPEAT to avoid multiple RETURN statements from inside a loop and to consolidate final processing (a little like TRY / FINALLY).
mysql goto,如何在MySQL存储函数中使用goto标签相关推荐
- 阿里云 mysql emoji_如何在 MySQL 中存储 emoji ?
问题还原 使用 erlang 存储一些特殊字符串到 MySQL 的时候,却没法读出来.经检查,这些字符串的二进制格式如下: <<240,159,152,134,240,159,152,14 ...
- MySQL入门之存储过程与存储函数
---------------------------------------------------------------------------------------------------- ...
- MySQL初级篇——存储过程、存储函数的相关概念及应用举例
文章目录: 1.什么是存储过程? 2.存储过程操作相关SQL 3.存储过程实操SQL 4.存储函数操作相关SQL 5.存储函数实操SQL 6.存储过程.存储函数的优缺点 1.什么是存储过程? 含义:存 ...
- 【MySQL进阶】存储过程及存储函数
5.存储过程 5.1.介绍 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率 ...
- mysql create definer_mysql stored routine (存储例程) 中 definer 的作用 和实例
创建 例程语法参见https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html 创建procedure 的语法如下 CREATE [DEF ...
- 如何在JQuery $ .each函数中编辑全局变量?
好的,这样的标题可能无法很好地解释我的问题. 希望这是有道理的. 这也是我第一个使用jQuery的应用程序,因此,如果我做一些愚蠢的事情,请原谅我. 我有以下功能: function getRando ...
- 如何在matlab sfunction 函数中调用自己写的函数?
自己编写了一个s函数,有几个参数引用了自己写的几个函数,在脚本中可以正确运行,但在写成s函数,进行 simulink 仿真的时候,已知提示"too many input auguments& ...
- mysql存储函数中游标报错 No data - zero rows fetched, selected
通常,当您超出游标范围时会发生这种情况,因此请检查FETCH语句所在部分的循环条件
- mysql stragg_如何在MySQL中將子查詢行的結果顯示為一列?
I have three tables Category, Movies and RelCatMov 我有三個表分類,電影和RelCatMov Category-table categoryid, c ...
最新文章
- 机器学习算法基础知识
- 关于jsp页面传值乱码问题
- 试题 历届试题 翻硬币(贪心)
- Shell编程—【05】Linux的find命令详解
- Android之实现点击布局缩小然后再放大动画
- 关于字符串和字节编码的问题(转)
- 40 张图揭秘「键入网址发生了什么」
- 第一周 7.10-7.16
- 插入附件 文件名显示不全_批量插入、提取图片,这几招要会掌握
- 怎么直接播放或编辑WEBM格式的视频
- 六自由度机械臂运动学分析及其轨迹规划
- ros自带到期通知_iPhone自带的8个App,没想到这么好用!
- 社招/实习/春招 | 字节跳动 | 抖音-隐私合规团队 | 北京/杭州 【岗位急招,部门直推,hc多多,欢迎投递~~~】
- Unity太空大战游戏-Socket网络通信教学示例
- 可控制导航下拉方向的jQuery下拉菜单代码
- C# 国际化问题之CultureInfo(小数点的不同一些欧洲国家习惯使用,而非.)
- XGBoost python调参示例
- [scRNA-seq]单细胞转录因子分析——SCENIC算法简析
- 单细胞论文记录(part22)--Giotto: a toolbox for integrative analysis and visualization of spatial expression
- 机器学习日记Day4
热门文章
- redis有值查询返回null_Redis缓存穿透、缓存并发、热点缓存之最佳招式
- 内核参数 linux dd,内核模块指定参数方式
- 经常误提交.DS_Store文件怎么办?Git全局排除配置了解一下!
- 皮一皮:论脑回路的新奇指数...
- Spring Boot 2.5.5发布:开始支持Java 17了!
- 使用Elastic Job的namespace配置,防止任务名称的冲突
- 啥是指标陷阱?很多就出现在你的身边!
- 没了解过条件注解@ConditionalOn..?Spring Boot白学了!
- linux系统无线驱动在哪下载,在linux上怎么安装无线网卡驱动?
- 开源论文推荐:含人脸识别、实例分割、跟踪、SR等