DELIMITER $$

USE `transfashions`$$

DROP TRIGGER IF EXISTS `calc_user_profit`$$

CREATE

    TRIGGER `calc_user_profit` BEFORE UPDATE ON `stock` 
    
    FOR EACH ROW BEGIN
    
	UPDATE `result` SET `user_profit` = (SELECT `user_profit` FROM `userprofit` WHERE `range_id`= 
	
	(SELECT `id` FROM `range` WHERE (SELECT `price` FROM `stock` WHERE `art` = OLD.`art` LIMIT 1) BETWEEN `price_low` AND `price_high` LIMIT 1)
	
	) WHERE `art` = OLD.`art`;
	
    END;
$$

DELIMITER ;

Читать далее