mysql 临时变量存结果集_MySQL 存储过程,获取使用游标查询的结果集

本文介绍了在MySQL存储过程中,如何使用游标查询并存储结果集到临时表,以供后续调用。通过三种不同的循环(Loop、While、Repeat)方法创建存储过程,统计特定部门的员工信息,并展示了遇到的问题及解决方案。
摘要由CSDN通过智能技术生成

MySQL 存储过程中,使用游标查询,返回的是结果集时,如何查看调用存储过程输出结果呢?

解决方案:存储过程不返回数据,但它能创建和填充另一个表。所以在存储过程运行中创建临时表。该临时表将保存存储过程中生成的结果集,在遍历游标时,用insert保存每条数据到临时表中。后续调用时可以用select语句查询临时表中的存储过程运行结果。

以下有 三种方式 使用游标创建一个存储过程,统计某一部门下的员工信息

方法一:Loop循环

DROP PROCEDURE IF EXISTS pro_empIndepart_list;

delimiter //

CREATE PROCEDURE pro_empIndepart_list (IN departid INT)

BEGIN

-- 创建 用于接收游标值的变量

DECLARE c_id,c_salary INT;

-- 注意 接收游标值为中文时 需要 给变量 指定 字符集为utf8

DECLARE c_empname,c_job VARCHAR(50) character set utf8;

-- 游标结束的标志

DECLARE done INT DEFAULT 0;

DECLARE cur CURSOR for select e.id,e.yuangongname,e.word,e.wage from emp e where e.bumenTableId=departid;

DECLARE continue handler for not found set done = 1;

create table if not exists emp_dempart_temp1(id int,empname VARCHAR(50),job

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值