AFTER INSERT OR UPDATE ON tableName : After Event Trigger « Trigger « Oracle PL/SQL Tutorial






SQL> CREATE TABLE game_player
  2  (player_id    NUMBER,
  3   game_id      NUMBER,
  4   group_number NUMBER,
  5   marked       VARCHAR2(1) DEFAULT 'N',
  6   pcmac        VARCHAR2(1) DEFAULT 'N',
  7   score        NUMBER,
  8   CONSTRAINT game_player_pk
  9   PRIMARY KEY (player_id, game_id, group_number));

Table created.

SQL>
SQL>
SQL>
SQL> CREATE OR REPLACE TRIGGER validate_score
  2  AFTER INSERT OR UPDATE ON game_player
  3  FOR EACH ROW
  4  BEGIN
  5    IF :NEW.marked = 'Y' AND
  6       :NEW.score < 10 THEN
  7         RAISE_APPLICATION_ERROR(-20001,'ERROR: Score For marked Must Be >= 10');
  8    ELSIF :NEW.pcmac = 'Y' AND
  9          :NEW.score < 10 THEN
 10         RAISE_APPLICATION_ERROR(-20001,'ERROR: Score For pcmac Must Be >= 10');
 11    ELSIF :NEW.marked = 'Y' AND
 12          :NEW.pcmac = 'Y' THEN
 13         RAISE_APPLICATION_ERROR(-20001,'ERROR: Cannot Enter pcmac And marked For Same game_player');
 14    END IF;
 15  END;
 16  /

Trigger created.

SQL>
SQL>
SQL>
SQL> drop table game_player;

Table dropped.

SQL>








28.7.After Event Trigger
28.7.1.After delete trigger
28.7.2.After update trigger
28.7.3.Using an AFTER EVENT Trigger
28.7.4.Creating a Trigger: AFTER INSERT OR DELETE OR UPDATE ON employee
28.7.5.Trigger for certain columns
28.7.6.AFTER INSERT OR UPDATE ON tableName
28.7.7.after insert trigger