mysql prepare 游标_一个mysql存储过程例子,包括游标,prepare等

该博客内容涉及数据库管理,具体为创建并执行一个存储过程,用于更新per_personresumes表中意向职位(intentionPositions)信息。通过游标遍历查询结果,针对每个符合条件的简历,使用GROUP_CONCAT函数获取职位节点值,并更新到意向职位字段。
摘要由CSDN通过智能技术生成

drop PROCEDURE if EXISTS updateIntentionPosition;

create procedure updateIntentionPosition(n int)

BEGIN

declare intenpositon varchar(255);

declare _positionId int default 0;

declare _resumeId int default 0;

declare stop int default 0;

declare v_sql varchar(500);

declare aaaa varchar(255);

declare cur cursor for

select positionId,resumeId from per_personresume where intentionPositions!='0' and LENGTH(intentionPositions)>0 and LENGTH(positionId)>0 and positionId<>'0' limit 1000;

declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop=1;

OPEN cur;

FETCH cur INTO _positionId,_resumeId;

WHILE stop <> 1 DO

#select _positionId;

if _positionId!='0' and length(_positionId)>0

THEN

set v_sql= concat('select GROUP_CONCAT(nodeName) as nname into @gg from bas_positionfunction where nodeValue IN(',_positionId,")");

set @v_sql=v_sql;

prepare stmt from @v_sql;

execute stmt;

if length(@gg)>0 THEN

update per_personresume set intentionPositions=@gg where resumeId=_resumeId;

select concat('update',_resumeId,",",@gg);

end if;

end if;

FETCH cur INTO _positionId,_resumeId;

END WHILE;

CLOSE cur;

END

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值