【mysql 存储过程】存储过程之流程控制语句

2024-09-07 07:32

本文主要是介绍【mysql 存储过程】存储过程之流程控制语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

-- 1IF语句
-- 创建存储过程,判断两个输入参数哪一个大
-- 输入的第一个参数对应p1,第二个对应p2,@ax用来接收输出变量p3; 如果p1>p2,输出1;如果p1=p2,输出2;其他情况,输出3。-- -- 定义存储过程
DELIMITER $$
CREATE  PROCEDURE difference(IN p1 INTEGER,IN p2 INTEGER,OUT p3 INTEGER)BEGINIF p1 > p2 THEN SET p3 = 1;ELSEIF p1= p2 THEN SET p3 = 2;ELSE SET p3 = 3;END IF;
END $$DELIMITER ;-- --调用存储过程
call difference(12,56,@ax);
SELECT @ax;+------+
| @ax  |
+------+
|    3 |
+------+-- 2CASE语句-- -- 定义存储过程
#如果该存储过程存在则删除
drop procedure if exists difference2;
DELIMITER $$
CREATE  PROCEDURE difference2(IN p1 INTEGER,IN p2 INTEGER,OUT p3 INTEGER)BEGINcasewhen p1 > p2 THEN SET p3 = 1;when p1= p2 THEN SET p3 = 2;ELSE SET p3 = 5;END CASE;
END $$DELIMITER ;-- --调用存储过程
call difference2(123,561,@ax);
SELECT @ax;
+------+
| @ax  |
+------+
|    5 |
+------+-- 3.WHILE循环
DELIMITER $$CREATE PROCEDURE do_while(x int)
BEGINDECLARE v INT DEFAULT 5;set v=x;WHILE v>0 DOselect v;SET v=v-1;END WHILE;END$$DELIMITER ;
call do_while(8);

这篇关于【mysql 存储过程】存储过程之流程控制语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144447

相关文章

Centos7 firewall和docker冲突问题及解决过程

《Centos7firewall和docker冲突问题及解决过程》本文描述了一个在CentOS7上使用firewalld和Docker容器的问题,当firewalld启动或重启时,会从iptable... 目录系统环境问题描述问题排查解决办法总结本文只是我对问题的记录,只能用作参考,不能China编程说明问题,请

springboot控制bean的创建顺序

《springboot控制bean的创建顺序》本文主要介绍了spring-boot控制bean的创建顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录1、order注解(不一定有效)2、dependsOn注解(有效)3、提前将bean注册为Bea

SQL Server 中的表进行行转列场景示例

《SQLServer中的表进行行转列场景示例》本文详细介绍了SQLServer行转列(Pivot)的三种常用写法,包括固定列名、条件聚合和动态列名,文章还提供了实际示例、动态列数处理、性能优化建议... 目录一、常见场景示例二、写法 1:PIVOT(固定列名)三、写法 2:条件聚合(CASE WHEN)四、

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

SpringBoot的全局异常拦截实践过程

《SpringBoot的全局异常拦截实践过程》SpringBoot中使用@ControllerAdvice和@ExceptionHandler实现全局异常拦截,@RestControllerAdvic... 目录@RestControllerAdvice@ResponseStatus(...)@Except

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

线程池ThreadPoolExecutor应用过程

《线程池ThreadPoolExecutor应用过程》:本文主要介绍如何使用ThreadPoolExecutor创建线程池,包括其构造方法、常用方法、参数校验以及如何选择合适的拒绝策略,文章还讨论... 目录ThreadPoolExecutor构造说明及常用方法为什么强制要求使用ThreadPoolExec

MySQL 筛选条件放 ON后 vs 放 WHERE 后的区别解析

《MySQL筛选条件放ON后vs放WHERE后的区别解析》文章解释了在MySQL中,将筛选条件放在ON和WHERE中的区别,文章通过几个场景说明了ON和WHERE的区别,并总结了ON用于关... 今天我们来讲讲数据库筛选条件放 ON 后和放 WHERE 后的区别。ON 决定如何 "连接" 表,WHERE

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立