2016-11-21 9 views
-1

sales_priceフィールドに-1を掛けるトリガーを作成しようとしています。売上テーブルはこのトランザクションタイプと似ていますが、払い戻しの場合はvarchar R、Salesの場合はSです。それだけでTRA_TYPEが「R」に等しいかどうかをテストし、もしそうであれば、NEW.priceので、基本的に値を掛けるMySQLトリガー

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 

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

トランザクションタイプが= Rの場合、int型の値を負の値に変更するにはトリガが必要です。テーブルに新しい行を置くと、10.99を売却価格として、RまたはSをトランザクションタイプとして入れますが、取引タイプがRの場合は、10.99から-10.99の値を変更してください。 – VmTech

答えて

1

はこの1つを試してみてください:

この

は私が作成しようとしていますトリガであります負の1が乗算されます。

+0

これは超です!感謝万円 !! 5スター!私は何が間違っていたのか分かりませんでした。おかげさまであなたの助けに感謝します! – VmTech

+0

私はあなたのために私の肯定的な投票を取っていない理由は分かりません!とにかく、百万のグッドジョブ – VmTech

+0

は、これを受け入れるお返事がありますように感謝... – barudo

関連する問題