0

Ho can i define a integer auto increment with oracle 11g?This is my code with mysql user_id int(6) not null auto_increment primary key how can i have this line with oracle?Because i've already the same database in mysql now i want to build the same structure with oracle

1 Answers1

1

You can achieve this with a sequence.

CREATE SEQUENCE seq_user;

The above will auto increment by 1, and start at 1.
To insert values using this sequence, you can do the following (for example):

INSERT INTO table_name (user_id) VALUES (seq_user.NEXTVAL);

To automate this process, you could reference the sequence in a trigger on the table, that adds this value on an insert automatically:

CREATE OR REPLACE TRIGGER user_trg
BEFORE INSERT ON table_name
FOR EACH ROW

DECLARE

BEGIN
  IF(inserting)
  THEN
    :NEW.USER_ID := seq_user.NEXTVAL;
  END IF;

END;