DELIMITER $$
CREATE PROCEDURE `delRepeatCA`()
BEGIN
DECLARE tally INT DEFAULT 0;
SELECT COUNT(rs.c_CA) INTO tally FROM --------赋值
(SELECT COUNT(c_CA) AS c_CA FROM t_CA
GROUP BY c_CA HAVING COUNT(1) > 1) rs
WHILE tally>0 DO --------循环
IF(tally>0)THEN
------------删除重复
DELETE t_CAAS a FROM t_CAAS a, (
SELECT MIN(c_id)AS c_id FROM t_CA GROUP BY c_CA HAVING COUNT(1) > 1)AS b
WHERE a.c_id = b.c_id;
SELECT COUNT(rs.c_CA) INTO tally FROM
(SELECT COUNT(c_CA) AS c_CA FROM t_CA
GROUP BY c_CA HAVING COUNT(1) > 1) rs
END IF;
END WHILE;
END$$
DELIMITER ;