Mysql存储过程

发布时间:2026/10/29 9:57:18

Mysql存储过程 show global variables #查看全局变量set global 全局变量 #设置全局变量的值show session variables #查看会话变量局部变量使用declare 定义局部变量#创建存储过程say:delimiter // create procedure tarena.say48()begindeclarex int default9;declarey char(10);setyplj;selectx,y;end // delimiter;#调用存储过程call tarena.say48();用户变量的使用(当前连接的用户有效)定义set age 19;调用select age参数的使用in: 把数据传给存储过程out接受存储过程处理的结果inout都有IN:#根据部门编号统计部门的总人数delimiter // create procedure tarena.pnum(in dept_no int)beginselectdept_id as 部门编号count(name)as 总人数 from employements wheredept_iddept_no group by dept_id;end // delimiter;call tarena.pnum(6)OUT:#根据员工姓名 获取员工的邮箱delimiter // create procedure tarena.pmail(in ename char(10), out yx char(50))beginselectemail into yx from employees wherenameename;end // delimiter;call tarena.pmail(刘倩,x);# x保存处理的结果INOUT: delimiter // create procedure tarena.myadd(inout i int)beginsetii100;end // delimiter;setx7;call tarena.myadd(x);存储过程-流程控制if语句if条件1then语句1;elseif 条件2then语句2;else语句3;endif;例子delimiter // create procedure tarena.deptype_pro(in no int,out dept_type varchar(5))begindeclaretypevarchar(5);selectdept_name intotypefrom departments wheredept_idno;iftype运维部thensetdept_type技术部;elseiftype开发部thensetdept_type技术部;elseiftype测试部thensetdept_name技术部;elsesetdept_name非技术部;endif;end // delimiter;call tarena.deptype_pro(1,t);case语句case变量|表达式|字段 when 值1then返回值1;when 值2then返回值2;...else返回值n;endcase;例子delimiter // create procedure tarena.deptype_pro2(in no int,out dept_type varchar(5)) begin declare type varchar(5); select dept_name into type from departments where dept_idno; case type when 运维部 then set dept_type技术部; when 开发部 then set dept_type技术部; when 测试部 then set dept_type技术部; else set dept_type非技术部; end case; end // delimiter ; call deptype_pro2(3,t);循环语句while循环条件成立时执行代码条件不成立 会直接结束循环while判断条件do代码 endwhile;例子delimiter // create procedure tarena.while_pro(in i int)begindeclarej int default1;whilejidoinsert into departments(dept_name)values(hr);setjj1;endwhile;end // delimiter;call while_pro(2);loop循环没有判断条件重复执行同一段代码只要不人为结束就一直执行所以称为死循环。loop 代码 end loop;例子delimiter // create procedure tarena.loop2()begindeclarei int default1;loopselectsleep(1), i;end loop;end // delimiter;call loop2;mysqlshow processlist;#相当于ps -auxmysqlkillID号;repeat循环先循环一次再判断条件条件不成立继续执行条件成立结束循环。repeat 循环体until判断条件 end repeat;例子delimiter // create procedure tarena.repeat_pro(in i int)begindeclarej int default1;repeatsetjj1;insert into departments(dept_name)values(sales);untilji;end repeat;end // delimiter;call repeat_pro(4);循环控制语句leave结束循环相当于breakdelimiter // create procedure tarena.p0()begin xixi:loop leave xixi;selectsleep(1);selectone;end loop xixi;end // delimiter;iterate终止当前循环并开始下次循环相当于continuedelimiter // create procedure tarena.p3(in i int)begindeclarej int default1;haha:while jidoifj3thensetjj1;iterate haha;endif;selectj;setjj1;endwhilehaha;end // delimiter;call p3(4);
延伸阅读

更多相关文章

2026/10/29 13:22:40

智能体轨迹压缩成自动机:框架选型实测与行为规律分析

智能体轨迹压缩成自动机,这个话题在我最近一次框架选型实测里直接派上了用场。把一批 agent 运行轨迹压缩成自动机之后,我发现一个非常直观的结论:行为更多由框架决定,而不是由模型参数或提示词细节决定。这篇文章把怎么做、需要看…

2026/10/29 13:23:18

深度强化学习实战:DQN模型自动玩俄罗斯方块全解析

简介:本资源是一套基于深度强化学习的DQN算法实现自动玩俄罗斯方块的完整工程,面向强化学习初学者与游戏AI实践者,解决传统规则方法泛化性差、难以应对高维状态空间的问题。项目采用经验回放、目标网络与Q函数近似等关键技术,使智…

2026/10/25 10:48:53

13、MTK平台功耗--音频子系统电源管理:音频编解码器电源控制、音频路径的功耗优化、VoLTE 通话场景下的功耗管理

音频子系统,说实话,在手机里是个「低调的耗电大户」。 你想想看,从你按下播放键,到耳机里传出声音,中间经过了多少个模块?音频编解码器、数字信号处理器、模拟放大器、喇叭、麦克风……每个环节都在吃电。我早年做功耗优化时,发现音频路径没优化好,整机待机电流能多出…

2026/10/29 13:21:05

绕开DeepSeek官网排队:硅基流动托管推理接入实战

简介:这份文档面向希望稳定使用 DeepSeek、又不想被官网“服务器繁忙”提示打断的 AI 使用者与开发者,围绕借助硅基流动平台调用 DeepSeek 满血版这一思路展开,兼顾本地部署吃配置、高并发请求受限等实际痛点,适合入门到进阶的模型…

2026/10/29 13:21:05

计算机专业转型网络安全:职业路径与技术栈解析

1. 计算机专业毕业生的职业迷思与现状 2008年我刚从某高校计算机系毕业时,班里90%的同学都直奔互联网大厂的开发岗位,仿佛写代码是计算机专业唯一的出路。十几年后的今天,当我以网络安全工程师的身份回看这段经历,发现这个行业正在…

2026/10/29 13:21:05

AI Agent开发中的三大工程挑战与解决方案

1. Agent工程中的核心痛点解析在AI Agent开发领域,数据清洗、权限开通和接口稳定性这三个问题被从业者戏称为"三大脏活累活"。这些工作看似基础,却消耗了开发团队近60%的工程时间。以金融领域的智能客服Agent为例,数据清洗可能涉及…

2026/10/29 13:21:05

智能体(Agent)与工作流系统的核心差异与技术实现

1. 概念辨析:Agent与工作流的本质差异最近AI领域涌现出大量打着"Agent"旗号的产品和框架,但仔细观察就会发现,其中很多本质上只是传统工作流系统的变种。要识别真正的智能体(Agent),我们需要先明…

2026/10/29 13:21:05

技能不是关键词堆砌:从深度拆解到技能栈组合与迁移

1. 先分清技能、经验、工具名:很多人把简历写成了购物清单 我这些年看过上千份简历、做过几十次面试,也带过不少新人,发现一个特别普遍的问题:大家一说"skills",第一反应就是往简历上堆关键词——Vue、React…

2026/10/29 13:16:04

影刀RPA实战:职场效率提升与自动化创收指南

1. 项目概述:当RPA遇上职场效率革命 那天晚上9点半,我盯着电脑屏幕上一排未处理的Excel表格,突然意识到自己正在重复第37次"复制-粘贴-校验"的操作。就在这个瞬间,我决定让影刀RPA这个数字员工接手这些机械劳动。经过一…

2026/10/28 14:42:12

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/28 15:28:56

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/29 0:03:42

学生选课系统DFD图绘制指南:边界划分与分层校验实战

简介:文档以顶层与第一层DFD图为核心,完整刻画学生选课系统的逻辑模型,面向软件工程课程设计、系统分析学习及毕设前期建模人群。顶层图界定系统边界,外部实体包括管理员、教师和学生三类角色;第一层图进一步细化用户登…

2026/10/29 0:03:42

JIRA敏捷落地:Scrum角色权限、Sprint与燃尽图避坑指南

简介:围绕“基于JIRA的敏捷开发项目管理”这一主题,面向产品负责人、Scrum Master及研发测试成员,梳理Scrum角色分工、迭代流程与JIRA工具配置的对应关系,适合初、中级团队导入敏捷管理时参考。压缩包共1个docx文件,大…

2026/10/29 0:03:42

SEMI S8人机工程验收实战:从条款拆解到现场实测的完整指南

简介:面向半导体设备设计、制造与运维工程师及安全合规人员,这份资料聚焦SEMI标准体系下的设备安全规范,重点收录SEMI S8-0308《半导体制造设备人体工程学工程安全指南》。内容围绕设备设计原则、错误与事故预防、人体工程学适配三大主线展开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑