游标循环体中使用select into赋值可能导致提前退出

在Mysql存储过程中,游标循环利用`select into`从表中赋值时,若查询无结果,会导致游标提前退出。文章通过举例说明问题所在,并提出三种解决方法:1. 使用`set`赋值;2. 结合`select count`判断;3. 在循环底部手动设置循环标志。
摘要由CSDN通过智能技术生成


        Mysql存储过程的游标循环体中使用“select  【某个字段】into 【某个变量】 from 【某个表】”语句进行 赋值, 如果 select 出来没有记录,则会导致游标提前退出(即使游标没有遍历完也会退出)。


表结构如下:

1.部门表以及相关数据

<pre name="code" class="sql">create table department (
	id int unsigned not null auto_increment,
	name char(20) not null,
	primary key id
)engine=innobd default charset=utf8;

insert department(id,name) values(1,'技术部'),(2,'行政部'),(3,'人力部'),(4,'运营部'),(5,'财务部'),(6,'法务部'),(7,'市场部'),(8,'商务部'),(9,'客服部');

 

2.员工表即相关数据

<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="sql">create table employee (
	id int unsigned not null auto_increme
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值