触发器

来源:互联网 发布:宣传册软件 编辑:程序博客网 时间:2024/05/20 07:31
USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `account_insert`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `account_insert` BEFORE INSERT ON `account`     FOR EACH ROW BEGIN         /*用户密码md5*/SET new.password = MD5(CONCAT('f2cf2c',new.password));    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `account_insert_after`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `account_insert_after` AFTER INSERT ON `account`     FOR EACH ROW BEGIN         /*用户只有组权限,不能添加任何其它权限,2013年7月9日伟斯确认*/INSERT IGNORE INTO account_acl_relation SELECT new.id, account_acl_id FROM account_role_acl_relation WHERE account_role_id=new.role_id;    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `account_update`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `account_update` BEFORE UPDATE ON `account`     FOR EACH ROW BEGINIF new.password<>old.password THENSET new.password =  MD5(CONCAT('f2cf2c',new.password));END IF;    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `goods_insert_after`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `goods_insert_after` AFTER INSERT ON `goods`     FOR EACH ROW BEGIN#添加goods库存表REPLACE INTO `goods_inventory` VALUES(new.id, new.series_id, new.inventory, new.inventory, new.inventory);    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `goods_inventory_update_before`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `goods_inventory_update_before` BEFORE UPDATE ON `goods_inventory`     FOR EACH ROW BEGINIF new.front_inventory>=0 THENUPDATE goods SET  inventory=new.front_inventory WHERE id=old.goods_id;END IF;    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `order_goods_relation_insert_before`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `order_goods_relation_insert_before` BEFORE INSERT ON `order_goods_relation`     FOR EACH ROW BEGINSELECT front_inventory INTO @front_inventory FROM `goods_inventory` WHERE goods_id=new.goods_id;IF new.goods_num>@front_inventory THENINSERT INTO `check_exception` VALUES(1);ELSEUPDATE goods_inventory SET  front_inventory=front_inventory-new.goods_num WHERE goods_id=new.goods_id;END IF;    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `order_insert_before`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `order_insert_before` BEFORE INSERT ON `orders`     FOR EACH ROW BEGINSELECT AUTO_INCREMENT INTO @nId FROM information_schema.`TABLES` WHERE TABLE_NAME  ='orders' AND TABLE_SCHEMA="if2c";SET new.order_num=getOrderNum(@nId);    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `seller_insert`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `seller_insert` BEFORE INSERT ON `seller`     FOR EACH ROW BEGIN         /*用户密码md5*/SET new.password = MD5(CONCAT('f2cf2c',new.password));END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `seller_update`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `seller_update` BEFORE UPDATE ON `seller`     FOR EACH ROW BEGINIF new.password<>old.password THENSET new.password =  MD5(CONCAT('f2cf2c',new.password));END IF;END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `user_address_insert_befor`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `user_address_insert_befor` BEFORE INSERT ON `user_address`     FOR EACH ROW BEGINSELECT COUNT(1) INTO @addressNum FROM `user_address` WHERE user_id=new.user_id AND `status`=1;IF @addressNum>0 THENSET new.is_default=0;ELSESET new.is_default=1;END IF;    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `user_insert`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `user_insert` BEFORE INSERT ON `user`     FOR EACH ROW BEGIN /*用户密码md5*/SET new.password = MD5(CONCAT('f2cf2c',new.password));    END;$$DELIMITER ;DELIMITER $$USE `if2c`$$DROP TRIGGER /*!50032 IF EXISTS */ `user_update`$$CREATE    /*!50017 DEFINER = 'root'@'%' */    TRIGGER `user_update` BEFORE UPDATE ON `user`     FOR EACH ROW BEGINIF new.password<>old.password THENSET new.password =  MD5(CONCAT('f2cf2c',new.password));END IF;    END;$$DELIMITER ;