我正在尝试创建一个将sales_price字段乘以-1的触发器,sales表就像这个事务类型一样,它有varchar R表示退款,S表示销售。
这是我试图创建的触发器:
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 :(得分: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
乘以负数。