Implementing Autonumbering Functionality : Before Event Trigger « Trigger « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> CREATE SEQUENCE idSeq;

Sequence created.

SQL>
SQL> CREATE TABLE myTable (Name VARCHAR(50) PRIMARY KEY NOT NULL,
  2                       PhoneNo VARCHAR(15));

Table created.

SQL>
SQL> CREATE TABLE myTableAudit
  2  (id INT PRIMARY KEY NOT NULL,
  3   Operation VARCHAR(10),
  4   RecordedOn DATE DEFAULT SysDate,
  5   OldName VARCHAR(50),
  6   NewName VARCHAR(50),
  7   OldPhone VARCHAR(15),
  8   NewPhone VARCHAR(15));

Table created.

SQL>
SQL> CREATE OR REPLACE TRIGGER idAutonumberTrigger
  2  BEFORE INSERT ON myTableAudit
  3  FOR EACH ROW
  4  BEGIN
  5     SELECT idSeq.NEXTVAL
  6     INTO :NEW.id FROM DUAL;
  7  END;
  8  /

Trigger created.

SQL>
SQL> drop SEQUENCE idSeq;

Sequence dropped.

SQL>
SQL> drop table myTable;

Table dropped.

SQL>
SQL> drop table myTableAudit;

Table dropped.

SQL>








28.6.Before Event Trigger
28.6.1.BEFORE EVENT triggers, are for preventing the event from actually happening
28.6.2.Insert before trigger
28.6.3.Check and change new value in a before-insert trigger
28.6.4.Fire a trigger before an update of the table
28.6.5.Change data in a before insert or update trigger
28.6.6.BEFORE INSERT OR UPDATE OF id
28.6.7.Check new value in before insert trigger
28.6.8.Check new value in before trigger
28.6.9.convert character values to upper case
28.6.10.Use trigger to create autoincrement column
28.6.11.Implementing Autonumbering Functionality