getParentCat.sql 780 B

1234567891011121314151617181920212223
  1. DELIMITER $$
  2. DROP FUNCTION IF EXISTS `getParentCat`$$
  3. CREATE FUNCTION `getParentCat`(catCode VARCHAR(10000)) RETURNS VARCHAR(10000) CHARSET utf8
  4. BEGIN
  5. DECLARE sParentList VARCHAR(10000);
  6. DECLARE sParentTemp VARCHAR(10000);
  7. SET sParentTemp =catCode;
  8. WHILE sParentTemp IS NOT NULL DO
  9. IF (sParentList IS NOT NULL) THEN
  10. SET sParentList = CONCAT(sParentTemp,',',sParentList);
  11. ELSE
  12. SET sParentList = CONCAT(sParentTemp);
  13. END IF;
  14. SELECT GROUP_CONCAT(CAT_PARENT_CODE) INTO sParentTemp FROM HC_CATEGORY_INF WHERE FIND_IN_SET(CAT_CODE,sParentTemp)>0;
  15. END WHILE;
  16. RETURN sParentList;
  17. END$$
  18. DELIMITER ;