CREATE DEFINER=`root`@`%` FUNCTION `GetPositionInfo`(VPositionId VARCHAR(36)) RETURNS varchar(36) CHARSET utf8 BEGIN -- 预期岗位结果 DECLARE vResult VARCHAR(36); DECLARE vCount INT; SET vResult = '00000000-0000-0000-0000-000000000000'; -- 返回结果集 SET vCount=0; -- 判断是那一层级 IF VPositionId <> '00000000-0000-0000-0000-000000000000' THEN loop_label: loop SET vResult=(SELECT PositionId FROM oep.Position WHERE oep.Position.PositionParentId=VPositionId LIMIT 1); SET vCount=vCount+1; IF vResult IS NULL THEN IF vCount =1 THEN SET vResult= '00000000-0000-0000-0000-000000000000'; ELSE SET vResult=VPositionId; END IF; LEAVE loop_label; ELSE SET VPositionId=vResult; END IF; end loop; END IF; RETURN vResult; END
获取岗位信息
猜你喜欢
转载自wo13145219.iteye.com/blog/2276426
今日推荐
周排行