一个简单的带游标的存储过程

游标是变量,声明游标时一定要放在执行语句前面,和其它变量放在一起。

还有点小问题,在实际中游标多执行了一次

drop PROCEDURE if EXISTS get_label_ids_by_task_and_category;
DELIMITER $
CREATE DEFINER=`health`@`%` PROCEDURE `get_label_ids_by_task_and_category`(IN taskId bigint(20), IN seriesInstanceUid varchar(100))
BEGIN
    declare versionId bigint(20) unsigned;
	declare modelId bigint(20) unsigned;
	declare s int default 0;
	declare categoryName varchar(60);
	declare labelIds varchar(60);
	
	DECLARE cur CURSOR FOR
     select cg.name, cg.label_ids from dev_label_category_info cg where cg.model_id = modelId;
	declare continue handler for not found set s = 1;
	
	select t.version_id into versionId from task_info t where t.id = taskId;
	select mv.model_id into modelId from dev_model_version_info mv where mv.id = versionId;
	 	
	open cur;
	while s <> 1 DO
	  if s <> 1 then 
		  fetch cur into categoryName, labelIds;
		  select categoryName, labelIds;
		end if;
	end while;
	close cur;
END $
DELIMITER;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值