码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-01-21 18:52:53      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

 

执行语句

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 ;

 

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

标签:

原文地址:http://www.cnblogs.com/firadio/p/5148930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!