热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql基础四存储过程

一、存储过程:变量的声明和赋值。delimiter$createprocedurep1()begindeclareageintdefault18;setage:age+20;或者setageage

一、存储过程:变量的声明和赋值。
delimiter $

create procedure p1()

begin

declare age int default 18;

    set age :=age+20;或者   set age =age+20

select age from dual;

end$

调用存储过程:call p1(); 其结果是如下:

mysql基础四 存储过程

二、存储过程:if 控制语句。
delimiter $
create procedure p2()
begin

declare age int default 18;
if age>=18 then
 select '已成年' ;
else 
 select '未成年';
end if;

end$
调用存储过程:call p2(); 其结果是如下:
mysql基础四 存储过程

三、存储过程:输入参数。
计算一个矩形的面积,并判断是胖fat? 瘦then? 还是方square?
delimiter $
create procedure p3(w int ,h int)
begin
select concat('area:',w*h);

if w > h then
  select 'fat';
elseif w 

end$

四、存储过程:while循环

求1到100的和。
delimiter $
create procedure p100()
begin
declare total int default 0;
declare num int default 0;
while num<=100 do

set total=total+num;
set num=num+1;

end while;

select total;
end$

调用存储过程:call p100(); 其结果是如下:
mysql基础四 存储过程

五、存储过程:输出参数:
求1到n的和。
delimiter $
create procedure p8(in n int ,out total int)
begin
set total=0;
declare num int default 0;
while num<=n do

set total=total+num;
set num=num+1;

end while;

end$

调用存储过程:call p8(100,@sumary); select @sumary; 其结果是如下:

mysql基础四 存储过程

mysql基础四 存储过程

六、存储过程:输入输出参数:
delimiter $
create procedure p9(inout age int)
begin
set age =age+20;
end $

调用存储过程:set @currentage=18; call p9(@currentage) ;select @currentage; 其结果是如下:

mysql基础四 存储过程

七、存储过程:case控制语句:
delimiter $
create procedure p10()
begin

declare pos int default 0;

set pos=floor(4*rand()) ;

case pos
when 1 then select 'haha';
when 2 then select 'hehe';
else select 'heihei';
end case;

end $

八、存储过程:repeat控制语句:
delimiter $
create procedure p11()
begin

declare i int default 0;
declare total int default 0;

repeat 
    set i=i+1;
    set total =total +i;
until i>=100 end repeat;
select total;

end$

九、调用存储过程 call:

call procedure_Name();


推荐阅读
  • MySQL:不仅仅是数据库那么简单
    MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ... [详细]
  • 尽管存在唯一列,仍显示“当前选择不包含唯一列。网格编辑、复选框、编辑、复制和删除功能不可用”的消息。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • MySQL 数据操作:增、删、查、改全面解析
    MySQL 数据操作:增、删、查、改全面解析 ... [详细]
  • Go语言中Goroutine与通道机制及其异常处理深入解析
    在Go语言中,Goroutine可视为一种轻量级的并发执行单元,其资源消耗远低于传统线程,初始栈大小仅为2KB,而普通线程则通常需要几MB。此外,Goroutine的调度由Go运行时自动管理,能够高效地支持成千上万个并发任务。本文深入探讨了Goroutine的工作原理及其与通道(channel)的配合使用,特别是在异常处理方面的最佳实践,为开发者提供了一套完整的解决方案,以确保程序的稳定性和可靠性。 ... [详细]
  • Go语言实现Redis客户端与服务器的交互机制深入解析
    在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 在Tableau中进行多表关联后统计时遇到的常见问题及解决方法
    在使用Tableau进行多表关联统计时,常遇到数据不匹配、重复记录等问题。例如,在处理员工信息表时,若员工ID未正确关联,可能导致薪资统计错误。本文将详细探讨这些问题的成因,并提供有效的解决方案,如利用Tableau的数据清理工具和高级连接功能,确保数据准确性和完整性。 ... [详细]
  • 题目《UVa 11978 福岛核爆问题》涉及圆与多边形交集面积的计算及二分法的应用。该问题的核心在于通过精确的几何运算与高效的算法实现来解决复杂图形的面积计算。在实现过程中,特别需要注意的是对多边形顶点的平移处理,确保所有顶点包括最后一个顶点 \( p[n] \) 都经过正确的位移,以避免因细节疏忽导致的错误。此外,使用循环次数为50次的二分法能够有效提高算法的精度和稳定性。 ... [详细]
  • 深入解析 iOS Objective-C 中的对象内存对齐规则及其优化策略
    深入解析 iOS Objective-C 中的对象内存对齐规则及其优化策略 ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
  • Android ListView 自定义 CheckBox 实现列表项多选功能详解
    本文详细介绍了在Android开发中如何在ListView的每一行添加CheckBox,以实现列表项的多选功能。用户不仅可以通过点击复选框来选择项目,还可以通过点击列表的任意一行来完成选中操作,提升了用户体验和操作便捷性。同时,文章还探讨了相关的事件处理机制和布局优化技巧,帮助开发者更好地实现这一功能。 ... [详细]
  • 深入解析十大经典排序算法:动画演示、原理分析与代码实现
    本文深入探讨了十种经典的排序算法,不仅通过动画直观展示了每种算法的运行过程,还详细解析了其背后的原理与机制,并提供了相应的代码实现,帮助读者全面理解和掌握这些算法的核心要点。 ... [详细]
  • 在 Oracle 数据库中,`NULLS FIRST` 和 `NULLS LAST` 是 `ORDER BY` 子句中用于控制空值排序位置的关键字。当使用 `NULLS FIRST` 时,无论排序顺序是升序 (`ASC`) 还是降序 (`DESC`),包含空值的记录都会被排列在结果集的最前面。相反,`NULLS LAST` 则确保空值记录被放置在结果集的最后。这些关键字提供了灵活的排序选项,特别是在处理包含大量空值的数据集时,能够更好地满足不同的业务需求。 ... [详细]
author-avatar
手机用户2502871761
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有