DECLARE STOP INT DEFAULT 0; DECLARE cur CURSOR FOR SELECT a.id ,aitem.brandId FROM a LEFT JOIN aitem ON a.id=aitem.aId WHERE a.id=MAIN_ID ; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET STOP=1;
SET l_new_string=''; OPEN cur;
FETCH cur INTO id,brandId;
WHILE STOP <> 1 DO -- 各种判断 SET l_find_pos=INSTR(l_new_string,brandId); IF (l_find_pos=0) THEN
SET l_new_string = CONCAT(brandId,',',l_new_string); END IF;
-- 读取下一行的数据 FETCH cur INTO id,brandId; END WHILE; -- 循环结束 CLOSE cur; -- 关闭游标 #SET ttt=l_new_string; IF (LENGTH (l_new_string)>0) THEN SET l_new_string = LEFT(l_new_string,LENGTH (l_new_string)-1); END IF; UPDATE a SET brandId = l_new_string WHERE a.id=MAIN_ID ;