2016-11-21 30 views
-1

我想创建一个触发器,它会乘以-1的sales_price现场,销售表是这样的交易类型,它有退票和S销售VARCHAR R上。MySQL的触发繁殖价值

这是我试图创建触发器:

delimiter $$  
CREATE trigger refund_negative before insert on sale 
for each row  
begin 
set new.SALE_PRICE = new.SALE_PRICE *(-1) 
where TRA_TYPE = 'R'; 
end; 
delimiter $$ 
+0

你想要什么发生? – barudo

+0

我需要触发的int值更改为负,其中交易类型= R,所以比如当我把一个新行的表,我把10.99作为销售价格和R或S作为交易类型,但需要改变值10.99至-10.99每次交易类型为R – VmTech

回答

1

试试这个:

CREATE TRIGGER `refund_negative` BEFORE INSERT ON `sales` FOR EACH ROW BEGIN 
IF NEW.TRA_TYPE='R' THEN 
    SET NEW.price = NEW.price * -1; 
END IF; 
END 

所以基本上只是测试TRA_TYPE是否等于“R”,如果是,NEW.price乘以负数。

+0

这是超级!太感谢了 !! 5星给你!我无法弄清楚我做错了什么。感谢您的帮助! – VmTech

+0

我不知道为什么它不会为我的正面投票!反正太感谢了良好的工作 – VmTech

+0

接受这个作为答案会做... – barudo