[MySQL 14] トリガーの前後

黄舟
黄舟オリジナル
2017-02-04 13:49:211464ブラウズ

最初にデータの追加、削除、および変更が完了してからトリガーされるステートメントは、監視対象の追加、削除、および変更の操作よりも後であり、前の追加、削除、および変更の操作には影響しません。注文レコードが最初に挿入され、その後、製品の数量が更新されます。

before は、最初にトリガーを完了し、次に追加、削除、および変更を行います。今後の操作を判断して変更する機会です。

ケース: 積 g テーブルの juzi の数は 20 しかありませんが、順序で o に 20 を超える数が追加されている場合、この時点でそれを解決する方法

#创建触发器test4  
CREATE TRIGGER test4  
AFTER  
INSERT  
ON `ord`  
FOR EACH ROW  
BEGIN  
UPDATE goods SET num= num - new.much WHERE goods_id = new.gid;  
END$$

[MySQL 14] トリガーの前後

前にトリガーを使用します:

最初にトリガーし、追加または削除するかどうかを判断してから、注文の最大数量が在庫に応じて変更されます。もちろん、私は値を固定しただけです。実際には、ステートメントを使用して動的な在庫値を取得できます。

#创建触发器test5  
CREATE TRIGGER test5  
BEFORE  
INSERT  
ON `ord`  
FOR EACH ROW  
BEGIN  
  IF new.much >26 THEN  
     SET new.much = 26;  
  END IF;  
UPDATE goods SET num= num - new.much WHERE goods_id = new.gid;  
END$$

[MySQL 14] トリガーの前後

上記は、[MySQL 14] トリガーの前後の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。