-- 处理试剂关联方法
-- DROP PROCEDURE UpdateKitRelateMethod;
DELIMITER //
CREATE PROCEDURE UpdateKitRelateMethod()
BEGIN
DECLARE GKI INT(11) UNSIGNED;
DECLARE RMI INT(11) UNSIGNED;
DECLARE RMTI INT(11) UNSIGNED;
DECLARE done INT DEFAULT false;
DECLARE set_global_kit CURSOR FOR
(SELECT gk.id , gk.relate_method_id , m.method_type_id FROM global_kit gk
LEFT JOIN method m ON m.id = gk.relate_method_id
WHERE gk.relate_method_id IS NOT NULL);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = true;
OPEN set_global_kit;
al: LOOP
FETCH set_global_kit INTO GKI, RMI, RMTI;
UPDATE kit set relate_method_id = RMI , relate_method_type_id = RMTI
WHERE from_id = GKI AND relate_method_type_id IS NULL;
IF done THEN
LEAVE al;
END IF;
END LOOP al;
CLOSE set_global_kit;
END //
DELIMITER ;
还没有评论,来说两句吧...