当前位置:Gxlcms > 数据库问题 > MYSQL存储过程:批量更新数据2(产品品牌)

MYSQL存储过程:批量更新数据2(产品品牌)

时间:2021-07-01 10:21:17 帮助过:2人阅读

DROP PROCEDURE IF EXISTS jsjh_goods_property_value_update$$ CREATE PROCEDURE jsjh_goods_property_value_update() BEGIN DECLARE row_base_brand varchar(50);#定义变量品牌 DECLARE row_title varchar(50);#定义tlete DECLARE row_value varchar(50);#定义value DECLARE done INT; -- 定义游标 DECLARE rs_cursor CURSOR FOR SELECT a.base_brand,b.title FROM jsjh_goods_item a LEFT JOIN jsjh_goods_property_value b ON (b.title=a.base_brand AND b.property_id=1 AND b.deleted=0) WHERE a.base_brand<>‘‘ UNION SELECT a.base_brand,b.title FROM jsjh_goods_item a RIGHT JOIN jsjh_goods_property_value b ON (b.title=a.base_brand AND a.base_brand<>‘‘) WHERE b.property_id=1 AND b.deleted=0; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; OPEN rs_cursor; cursor_loop:LOOP FETCH rs_cursor INTO row_base_brand,row_title; IF done=1 THEN leave cursor_loop; END IF; -- 更新表 IF row_title IS NULL AND row_base_brand IS NOT NULL THEN INSERT INTO jsjh_goods_property_value(property_id,value,title,showed) values(1,row_base_brand,row_base_brand,1); END IF; IF row_base_brand IS NULL AND row_title IS NOT NULL THEN UPDATE jsjh_goods_property_value SET deleted=UNIX_TIMESTAMP() WHERE title=row_title; END IF; END LOOP cursor_loop; CLOSE rs_cursor; END$$ DELIMITER ;

 

MYSQL存储过程:批量更新数据2(产品品牌)

标签:

人气教程排行