LoginSignup
0
1

More than 5 years have passed since last update.

PL/SQL基礎中の基礎をメモとして残します。

<<行トリガーの作成>>
SQL> CREATE OR REPLACE TRIGGER 注文_在庫_TRIG
2 AFTER INSERT ON 注文 FOR EACH ROW
3 BEGIN
4 UPDATE 在庫
5 SET 在庫数 = 在庫数 - :NEW.注文数
6 WHERE 製品名 = :NEW.製品名;
7 END;
8 /

行トリガー例。
・2行目のタイミングには「BEFORE」もしくは「AFTER」を指定。
 BEFOREであればDML処理の前に起動し、AFTERであればDML処理の後に起動。
・3行目のイベントには、トリガーの起動するDML文の種類、 すなわち「INSERT」「UPDATE」「DELETE」
・4行目には、このトリガーを設定する表の名前を指定
・「ON 表名」の後ろに「FOR EACH ROW」というキーワードがあれば行トリガーであり、なければ、文トリガー。

・OLDとNEW

:OLD.列名 ←DML操作前の列値
:NEW.列名 ←DML操作後の列値

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1