mysql基础16——游标

本文详细介绍了游标在数据库中的数据定位与操作,以及游标与存储过程、存储函数的区别。涵盖了创建存储函数的方法、使用游标的步骤、条件处理和流程控制语句在存储过程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

游标

能够对结果集中的每一条记录进行定位 并对指向记录中的数据进行操作的数据结构

游标只能在存储程序内使用 存储程序包括存储过程和存储函数

创建存储函数

create function 函数名称 (参数) returns 数据类型 程序体

存储函数与存储过程的区别

存储函数必须返回一个值或一个数据表  存储过程可以不返回

存储过程可以通过call语句调用 存储函数不可以

存储函数可以放在查询语句中使用 存储过程不行

存储过程可以执行对表的操作和事务操作,存储函数不具备

游标在存储过程中更常用

使用游标的4个步骤

1)定义游标
declare 游标名 cursor for 查询语句;
2)打开游标
open 游标名称;
3)从游标的数据结果集中读取数据  游标查询结果的字段数一定要和into后面的变量数一致
fetch 游标名 into 变量列表;
4)关闭游标
close 游标名称;

游标会占用系统资源 要及时关闭 释放资源

条件处理语句

  遇到问题执行操作之后,继续执行还是退出  处理方式有2个选择 continue exit 

declare 处理方式 handler for 问题 操作;

流程控制语句

只能用于存储过程 主要有3类

跳转语句   

 iterate语句  只能用在循环语句内 表示重新开始循环

 leave语句   可以用在循环语句内 或用在begin和end包裹的程序体内 表示跳出循环或跳出程序体

循环语句     

loop语句  loop循环不能自己结束 需要跳转语句iterate或leave控制
标签:loop
操作
end loop 标签;
which语句  先判断条件,再执行操作
which 条件 do
操作
end while;
repeat语句 先执行操作 后判断条件
repeat
操作
until 条件 end repeat;

条件判断语句   

if语句
if 表达式1 then 操作1
[elseif 表达式2 then 操作2]......
[else 操作n]
end if
case语句
case 表达式
when 值1 then 操作1
[when 值2 then 操作2]......
[else 操作n]
end case;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值