REFERENCING OLD AS old NEW AS new : NEW OLD « Trigger « Oracle PL/SQL Tutorial






SQL>
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> -- explicit default old and new
SQL> CREATE OR REPLACE TRIGGER old_new_update
  2  BEFORE update ON game_player
  3  REFERENCING OLD AS old NEW AS new
  4  FOR EACH ROW
  5  BEGIN
  6    DBMS_OUTPUT.PUT_LINE('Old marked = ' || :old.marked);
  7    DBMS_OUTPUT.PUT_LINE('New marked = ' || :new.marked);
  8  END;
  9  /

Trigger created.

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

Table dropped.








28.3.NEW OLD
28.3.1.Old and new value
28.3.2.Reference new value with :NEW in a before insert or update trigger
28.3.3.Refernece an old value in :OLD after update trigger
28.3.4.:old and :new Pseudo-records, Example 1
28.3.5.:old and :new Pseudo-records, Example 2
28.3.6.Raise application error in a trigger in case of invalid new value
28.3.7.REFERENCING OLD AS old NEW AS new
28.3.8.REFERENCING OLD AS old_values NEW AS new_values
28.3.9.Output new and old value in a before update trigger