First, create a table:
CREATE TABLE Example (
ID Number (4) Not NULL PRIMARY KEY,
NAME VARCHAR (25));
Then, customize a sequence (sequence):
CREATE SEQUENCE example_sequence
INCREMENT by 1--add a few each time
Start with 1-counting starting from 1
Nomaxvalue--Do not set the maximum value
Nocycle--keep accumulating, not looping
NOCACHE--Do not build buffers
Create a second trigger:
CREATE TRIGGER Example_triger before
INSERT on example for each ROW time (new.id is null)--Starts the trigger generation ID number only when the ID is empty
Begin
Select Example_sequence.nextval into:new.id from dual;
End
Test it, insert the data
Insert into example (name) VALUES (' Zhang San ');
Insert into example (ID, name) VALUES (111, ' John Doe ');
Input query statement:
Select t.* from EXAMPLE t
The result is:
ID Name
1 sheets of three
111 John Doe
Oracle self-Increment ID implementation