1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#新增触发器 DROP TRIGGER IF EXISTS `tag_sku_insert`; delimiter ;; CREATE TRIGGER `tag_sku_insert` AFTER INSERT ON `sku_tag` FOR EACH ROW BEGIN UPDATE dy_sku SET is_has_tag = 1 WHERE id = NEW.sku_id; END;; delimiter ;
#更新触发器 DROP TRIGGER IF EXISTS `tag_sku_update`; delimiter ;; CREATE TRIGGER `tag_sku_update` AFTER UPDATE ON `sku_tag` FOR EACH ROW BEGIN IF NEW.one_tag_id IS NULL THEN ##去除标签 UPDATE dy_sku SET is_has_tag = 0 WHERE id = NEW.sku_id; ELSE UPDATE dy_sku SET is_has_tag = 1 WHERE id = NEW.sku_id; END IF; END;; delimiter ;
DROP TRIGGER IF EXISTS `tag_po_det_update`; delimiter ;; CREATE TRIGGER `tag_po_det_update` AFTER UPDATE ON `sms_wms_po_det` FOR EACH ROW BEGIN DECLARE count int DEFAULT 0; DECLARE count2 int DEFAULT 0; SELECT count(1) into count FROM sms_wms_po_det s WHERE s.twd_po_no = NEW.twd_po_no and s.twd_is_close ='Y'; SELECT count(1) into count2 FROM sms_wms_po_det s WHERE s.twd_po_no = NEW.twd_po_no and s.twd_is_close ='N'; IF count > 0 THEN ##存在关结 UPDATE sms_wms_po SET po_state = '2' WHERE po_no = NEW.twd_po_no; END IF; IF count2<= 0 THEN ##未关结数<=0,所有关结 UPDATE sms_wms_po SET po_state = '4' WHERE po_no = NEW.twd_po_no; END IF; END;; delimiter ;
#删除触发器 DROP TRIGGER IF EXISTS `tag_sku_delete`; delimiter ;; CREATE TRIGGER `tag_sku_delete` AFTER DELETE ON `sku_tag` FOR EACH ROW BEGIN UPDATE dy_sku SET is_has_tag = 0 WHERE id = OLD.sku_id; END;; delimiter ;
#启动触发器 SET FOREIGN_KEY_CHECKS = 1; #测试 SELECT is_has_tag FROM dy_sku WHERE id=13; INSERT INTO `xmall`.`sku_tag`( `sku_id`, `one_tag_id`, `one_tag_name`, `two_tag_id`, `two_tag_name`) VALUES (13, 2, '测试22', NULL, NULL); SELECT is_has_tag FROM dy_sku WHERE id=13;
SELECT is_has_tag FROM dy_sku WHERE id=13; UPDATE SET `one_tag_id` = NULL WHERE sku_id=13; SELECT is_has_tag FROM dy_sku WHERE id=13;
SELECT is_has_tag FROM dy_sku WHERE id=13; DELETE FROM `xmall`.`sku_tag` WHERE sku_id=13; SELECT is_has_tag FROM dy_sku WHERE id=13;
|