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

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

转载于:https://www.cnblogs.com/zhouzhou163/p/3548130.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值