`

获取技能信息

 
阅读更多
CREATE DEFINER=`root`@`%` FUNCTION `GetSkillInfoSkillId`(vSkillId  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 vSkillId <> '00000000-0000-0000-0000-000000000000' THEN
	 
	  loop_label: loop 
         
         SET vResult=(SELECT SkillId 
					  FROM oep.Skill 
					  WHERE oep.Skill.ParentId=vSkillId 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=vSkillId;
            END IF;
         
            
			LEAVE loop_label;
         ELSE
         
			SET vSkillId=vResult;
            
         END IF;
         
     end loop;
      
      
	END IF;
    
	RETURN vResult;
END
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics