游标简介

条件处理函数

实例
根据传入的参数uage,来查询用户表tb_user中,所有的用户年龄小于等于uage的用户姓名(name)和性别(gender),并将用户的姓名和性别插入到所创建的一张新表(id,name,gender)中。
create procedure p3(in uage int)
begin
# 1.定义需要的变量
declare u_name varchar(100);
declare u_gender varchar(1);
# 2.声明游标
declare u_cursor cursor for select name,gender from tb_user where age<=uage;
# 5.生命条件处理程序 满足sql状态码为02000时 关闭游标
declare exit handler for sqlstate '02000' close u_cursor;
# 3.创建游标
drop table if exists tb_user_genger;
create table if not exists tb_user_genger(
id int primary key auto_increment,
name varchar(50),
gender varchar(1)
);
# 3.1开启游标
open u_cursor;
# 3.2获取游标中的记录
while true do
fetch u_cursor into u_name,u_gender;
insert into tb_user_genger values (null,u_name,u_gender);
end while;
# 4.关闭游标
close u_cursor;
end;
call p3(40);
198

被折叠的 条评论
为什么被折叠?



