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