数据库中存储过程的流程语句讲解

一、流程语句讲解

二、总结


一、流程语句讲解

1.1 if语句讲解

语法:

IF condition THENstatements;
ELSEIF condition THENstatements;
ELSEstatements;
END IF;

 题目示例:

# 判断成绩等级
# 输入学生的编号,取出学生的第一门课,然后判断当前的课程的等级
drop procedure if exists p2 delimiter $$
create procedure p2(in stuID int)
begin-- 定义局部变量declare myScore double default 0.0;declare myCname varchar(20);-- 查询学生成绩select score,sname into myScore,myCname from v4 where sid = stuIDorder by score desclimit 1;-- 根据局部变量做判断if myScore>80 thenselect concat(myCname,'A') 课程情况;elseif myScore<80 and myScore>60 then select concat(myCname,'B') 课程情况;else select concat(myCname,'C') 课程情况;end if;
end$$
delimiter;call p2(1);注释:
declare   定义局部变量
procedure 存储过程
delimiter 定义结束符
call      调用
concat    将多个字符串连接成一个字符串v4是一个连表视图

1.2 case条件语句

语法:

CASE XWHEN condition1 THEN statements1WHEN condition2 THEN statements2...ELSE statements
END CASE;

题目示例:

-- 查询学生性别,将男女换成小伙子和小姑娘
drop procedure if exists p3;
delimiter $$
create procedure p3(in stuID int)
begin-- 定义局部变量declare mySname varchar(20);declare mySex varchar(20);-- 查询学生性别select sname,ssex into mySname,mySex from v4 where sid = stuId limit 1;-- 根据局部变量做判断case mySex when '男' then set mySex = '小伙子';when '女' thenset mySex = '小姑娘';else set mySex = '妖怪';end case;select mySname,mySex;
end$$
delimiter ;call p3(6);

1.3 LOOP循环语句

语法:

[loop_label:] LOOPstatements;IF condition THENLEAVE [loop_label];END IF;
END LOOP [loop_label];

题目示例:

-- 输出10次Hello World
drop procedure if exists p4;delimiter $$
create procedure p4()
begin -- 定义局部变量declare n int default 0;-- 死循环myloop: loop select 'hello world';set n= n+1;if n >= 10 thenleave myloop;end if;end loop;
end$$
delimiter ;call p4();注释:
leave     停止循环
myloop    给loop循环取别名,用来停止循环

1.4 while循环语句

语法:

[while_label:] WHILE condition DOstatements;
END WHILE [while_label];

题目示例:

-- while使用
drop procedure if exists p5;delimiter $$
create procedure p5()
begin-- 定义局部变量declare n int default 0;declare s int default 0;while n <= 10 do set s = s+n;set n = n+1;end while;select concat('结果是:',s) result;
end$$
delimiter ;call p5();

二、总结

  •  if(判断多个区间)
  •  case(单个值的判断)
  • loop(死循环)
  • while(循环)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kubernetes》》k8s》》ConfigMap 、Secret

configmap官网 ConfigMap是一种 API 对象&#xff0c;使用时&#xff0c; Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。ConfigMap将配置和Pod解耦&#xff0c;更易于配置文件的更改和管理。ConfigMap 并不提供保密或者加密功能。 如果你想存储的数据是机密的…

git在IDEA中使用技巧

git在IDEA中使用技巧 merge和rebase 参考&#xff1a;IDEA小技巧-Git的使用 git回滚、强推、代码找回 参考&#xff1a;https://www.bilibili.com/video/BV1Wa411a7Ek?spm_id_from333.788.videopod.sections&vd_source2f73252e51731cad48853e9c70337d8e cherry pick …

Spring 事务失效的原因及解决方案全解析,来复习了

Spring 事务失效是指在使用 Spring 声明式事务管理时&#xff0c;预期的事务行为&#xff08;如事务的开启、提交、回滚等&#xff09;未按预期执行&#xff0c;导致数据操作未满足 ACID 特性&#xff08;原子性、一致性、隔离性、持久性&#xff09;&#xff0c;从而引发数据不…

「出海匠」借助CloudPilot AI实现AWS降本60%,支撑AI电商高速增长

&#x1f50e;公司简介 「出海匠」&#xff08;chuhaijiang.com&#xff09;是「数绘星云」公司打造的社交内容电商服务平台&#xff0c;专注于为跨境生态参与者提供数据支持与智能化工作流。平台基于大数据与 AI 技术&#xff0c;帮助商家精准分析市场趋势、优化运营策略&…

python每日一练

题目一 输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次(要求按照每一个不同的数第一次出现的顺序输出)。 解题 错误题解 a list(map(int,input().split())) b [] b.append(a[i]) for i in range(2,11):if a[i] not in b:b.append(a[i]) print(b)但是会…

Docker实战:从零构建高可用的MySQL主从集群与Redis集群

在分布式系统架构中&#xff0c;数据库集群是保障数据高可用和性能的关键组件。本文将通过Docker技术&#xff0c;手把手教你搭建MySQL主从集群和Redis Cluster&#xff0c;并分享独创的优化技巧与运维实战经验。 一、为什么选择Docker部署集群&#xff1f; 传统数据库集群搭…

STM32电机库 电机控制特性

ST MC FW库提供FOC和六步法两种电机控制方式。这使得它能够驱动永磁同步电机 (PMSM) 和无刷直流电机 (BLDC)。FOC 更适合 PMSM,而六步法更适合 BLDC 电机。该固件可以驱动内嵌式PMSM 和标贴式PMSM。 ST Motor Control 固件库提供以下功能: FOC SVPWM 生成: 可配置的 PW…

Go:方法

方法声明 type point struct { X, Y float64 }// 普通函数 func Distance(p, q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }// Point类型的方法 func (p Point) Distance(q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }方法声明与普通函数声…

前端基础之《Vue(4)—响应式原理》

一、什么是响应式 1、响应式英文reactive 当你get/set一个变量时&#xff0c;你有办法可以“捕获到”这种行为。 2、一个普通对象和一个响应式对象对比 &#xff08;1&#xff09;普通对象 <script>// 这种普通对象不具备响应式var obj1 {a: 1,b: 2} </script>…

【技术派部署篇】Windows本地部署技术派

一、技术派简介 技术派是一个采用 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈的社区系统&#xff0c;其 1.0 版已正式上线。该项目的技术栈按阶段集成引入&#xff0c;开发者可根据自身需求选择不同版本进行学习。 二、环…

DeepSeek和ChatGPT的全面对比

DeepSeek和ChatGPT作为当前领先的大语言模型&#xff0c;代表了AI发展的不同技术路径和应用理念。以下从技术架构到用户体验的全面对比分析&#xff0c;将揭示两者在AI竞赛中的独特定位。 一、模型架构与原理 1. DeepSeek 架构特点&#xff1a;采用混合专家系统&#xff08;…

Python星球日记 - 第20天:数据分析入门

🌟引言: 欢迎来到Python星球🪐的第20天!今天我们将踏入数据分析的世界,学习如何使用pandas处理数据并提取有价值的信息。无论你是想分析商业销售数据、股票市场趋势还是科学实验结果,pandas都是你必不可少的工具! 上一篇:Python星球日记 - 第19天:Web开发基础 名人…

算力云平台部署—SadTalker的AI数字人视频

选择算力 部署选择 选择镜像 机器管理 控制台 通过平台工具进入服务器 认识管理系统 打开命令行 进入目录 stable-diffusion-webui# cd 增加执行权限 chmod x ./webui.sh 运行命令 bash ./webui.sh sudo apt install -y python3 python3-venv git 安装软件 Creating the …

Linux目录结构:核心目录功能与用途解析

引言 Linux的目录结构就像一棵精心设计的大树&#x1f333;&#xff0c;每个分支都有其特定的用途和规范&#xff01;与Windows不同&#xff0c;Linux采用单一的目录层次结构&#xff0c;所有设备、分区和网络资源都挂载在这个统一的目录树下。本文将带你深入探索Linux目录结构…

【学习笔记】两个类之间的数据交互方式

在面向对象编程中&#xff0c;两个类之间的数据交互可以通过以下几种方式实现&#xff0c;具体选择取决于需求和设计模式&#xff1a; 1. 通过方法调用 一个类通过调用另一个类的公共方法来获取或传递数据。这是最常见的方式&#xff0c;符合封装原则。 class ClassA:def __…

神经网络学习--误差反向传播法

最近在学习神经网络&#xff0c;主要是依据书本《深度学习入门&#xff08;基于Python的理论与实现&#xff09;》&#xff0c;现对第5章“误差反向传播法”中的示例程序进行注释修改如下&#xff0c;以备后续查阅。 编程软件用的是Eric7&#xff0c;界面如下&#xff1a; 神经…

前端常用组件库全览与推荐

&#x1f4cc; 一、组件库生态全景图 &#x1f680; 二、React 生态组件库推荐 名称简介官网Ant Design阿里出品&#xff0c;企业级 UI 系统&#xff0c;设计规范完整&#xff0c;适合后台系统https://ant.designMaterial UIGoogle Material Design 实现&#xff0c;样式响应式…

群晖如何通过外网访问

1、进入群晖控制面板-》连接性-》外部访问-》DDNS 2、新增&#xff0c;添加DDNS 选择服务供应商&#xff0c;我这里以DNSPod.cn为例。 3、这一步开始&#xff0c;需要前往DNSPod.cn进行注册域名&#xff08;也可以使用你已有的域名&#xff0c;转入即可&#xff09;&#xff0…

3.2.2.1 Spring Boot配置静态资源映射

在Spring Boot中配置静态资源映射&#xff0c;可以通过默认路径或自定义配置实现。默认情况下&#xff0c;Spring Boot会在classpath:/static/等目录下查找静态资源。若需自定义映射&#xff0c;可通过实现WebMvcConfigurer接口的addResourceHandlers方法或在全局配置文件中设置…

【概念】什么是UI(User interface)什么是UX(User experience)?

1. 软件生命周期管理 (Software Life Cycle Management) 解释&#xff1a; 中文&#xff1a; 软件生命周期管理是指从软件规划、设计、开发、测试、部署到后续维护甚至退役的整个过程。English: Software Life Cycle Management refers to the systematic process of plannin…