热门标签 | 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();


推荐阅读
  • C语言基础入门:7个经典小程序助你快速掌握编程技巧
    本文精选了7个经典的C语言小程序,旨在帮助初学者快速掌握编程基础。通过这些程序的实践,你将更深入地理解C语言的核心概念和语法结构。 ... [详细]
  • 本文介绍了一种根据用户选择动态切换屏幕界面的方法,通过定义不同的选择块(Selection Block),实现灵活的用户交互体验。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • MySQL DateTime 类型数据处理及.0 尾数去除方法
    本文介绍如何在 MySQL 中处理 DateTime 类型的数据,并解决获取数据时出现的.0尾数问题。同时,探讨了不同场景下的解决方案,确保数据格式的一致性和准确性。 ... [详细]
  • C# LiNQ 查询 join连接
    C# LiNQ 查询 join连接 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍如何在SQL Server中对Name列进行排序,使特定值(如Default Deliverable Submission Notification)显示在结果集的顶部。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • 本文详细介绍了 MySQL 数据库中的基础操作,包括创建、查询、修改和删除数据库、表及数据的命令。通过具体的 SQL 语句示例,帮助读者快速掌握 MySQL 的基本操作。 ... [详细]
  • 为已有数据表添加主键:MySQL与SQL Server的最佳实践
    本文介绍了在处理一个涉及数据交互的小项目时,如何为没有主键标识的老表添加主键。具体探讨了在SQL Server中为已有数据表添加自增主键或GUID主键的两种方法,并提供了详细的SQL语句及执行效果。 ... [详细]
  • 本文将详细探讨Linux pinctrl子系统的各个关键数据结构,帮助读者深入了解其内部机制。通过分析这些数据结构及其相互关系,我们将进一步理解pinctrl子系统的工作原理和设计思路。 ... [详细]
  • 在Oracle数据库中,使用Dbms_Output.Put_Line进行输出调试时,若单行字符超过255个,则会遇到ORA-20000错误。本文介绍了一种有效的方法来处理这种情况,通过创建自定义包和视图,实现对长字符串的分割和正确输出。 ... [详细]
  • 使用lambda表达式排序Collections.sort(temp,(Stringa,Stringb)-{returnb.compareTo(a);});Collections ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
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社区 版权所有