MYSQL 存储过程 procedure

存储过程:是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理。

优点:
1、增强SQL语句的功能和灵活性
2、实现较快的执行速度
3、减少网络流量

 

创建存储过程

delimiter  //                         把;改成//
create procedure 存储过程的名称 (参数 列名称 数据类型)

begin

  过程体;

end

// 

 delimiter ;               把修改的//改回来

参数(可以是无参)
in:表示该参数的值必须在调用存储过程时指定,不能返回
out:表示该参数的值可以被存储过程改变,并且可以返回
inout:表示该参数在调用时指定,并且可以被改变和返回


过程体:可以是SQL语句,如果是多条语句则用BEGIN..END语句
可能会有多条语句,以;结束, 但是必须先用delimiter 改变符号,不然;会直接结束

调用存储过程
call 存储过程名称 (@变量名称 ,如@a/b/c...)

 select @a :显示变量的值

删除存储过程
delete procedure 存储过程的名称

 

定义变量:declare 变量 数据类型
为变量赋值:set 变量 =值

 

游标:用来逐条读取查询结果集中的记录,包括声明游标、打开游标、使用游标、关闭游标。

声明游标:declare 游标名称 cursor for 查询语句

打开游标:open 游标名称

使用游标:fetch 游标名称 into 数据

关闭游标:close 游标名称

 

流程控制

IF语句:if 判断语句 then SQL语句 else SQL语句 end if

CASE语句:case xx (when xxxx then SQL语句) ... end case       和switch..case语句类似

LOOP、LEAVE语句: 循环名称:loop SQL语句 end loop      和for循环类似,如果要退出,在SQL语句加入leave 循环名称

ITERATE语句:ITERATE 循环名称        和continue类似,跳出本次循环

REPEAT语句:repeat SQL语句 until 条件 end repeat      满足条件,跳出循环

WHILE语句:while 判断语句 do SQL语句 end while

转载于:https://www.cnblogs.com/zengjiao/p/6836022.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值