DELIMITER //
CREATE TRIGGER goods_sku_update_sumstock AFTER UPDATE ON db_goods_sku
FOR EACH ROW 
BEGIN
DECLARE skustock INT(11) DEFAULT 0;
DECLARE totalstock INT(11) DEFAULT 0;
DECLARE stop_flag tinyint(1) DEFAULT 0;
DECLARE skurow CURSOR FOR SELECT gt_stock FROM db_goods_sku where gt_stock=OLD.gt_gid;
DECLARE  CONTINUE HANDLER FOR NOT FOUND SET stop_flag=1;
OPEN skurow;
REPEAT
FETCH skurow INTO skustock;
IF stop_flag = 0  THEN
SET totalstock = totalstock + skustock;
END IF;
UNTIL stop_flag=1
END REPEAT;
CLOSE skurow;
UPDATE db_goods SET g_stock= totalstock WHERE g_id = OLD.gt_gid;
END;//表:db_goods
g_id 主键
g_name
...
g_stock(int)  商品总库存表:db_goods_skugt_id 主键
gt_gid 所属goods表ID,与db_goods表主键关联
...
gt_stock(int) SKU库存实现功能:当插入、更新、删除db_goods_sku数据后更新db_goods表的g_stock字段。问题描述:每次更新的值都为0,不知道什么原因,请大家帮我看下。