Use trigger to create autoincrement column : Before Event Trigger « Trigger « Oracle PL/SQL Tutorial






SQL>
SQL> CREATE TABLE myTable (
  2     myTableID INT PRIMARY KEY NOT NULL,
  3     Name     VARCHAR(50),
  4     PhoneNo  VARCHAR(15) DEFAULT 'Unknown Phone');

Table created.

SQL>
SQL> CREATE SEQUENCE SEQ;



SQL>
SQL> CREATE OR REPLACE TRIGGER AUTONUMBER
  2  BEFORE INSERT ON myTable
  3  FOR EACH ROW
  4  BEGIN
  5     SELECT SEQ.NEXTVAL
  6     INTO :NEW.myTableID FROM DUAL;
  7  END;
  8  /

Trigger created.

SQL>
SQL>
SQL> drop table myTable;

Table dropped.








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