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

 

执行语句

DELIMITER $$
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 ;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值