กลับมาเจอโจทย์เก่า เพื่อนเก่า Oracle 10g ที่เป็นเอกลักษณ์ของมันก็คือ auto increment หรือ pk ( primary key ) จะเรียกว่า sequence เพราะว่า
- สามารถที่จะสร้าง pk มากกว่าลำดับ 1 – n เพราะว่ามันจะสามารถเขียน SQL ให้สามารถเป็นลำดับอื่น ๆ ได้ เช่น order000001 – order999999 หรือ 20250805-001 – 20250805-999
 - สามารถใช้กับตารางอื่น ๆ ได้ โดยการอ้างถึงชื่อ sequence
 
การสร้าง sequence อย่างง่าย ๆ ทำโดยคำสั่ง SQL
CREATE SEQUENCE {sequence name}_seq
    START WITH 1
    INCREMENT BY 1
    MINVALUE 1
    MAXVALUE 999999
    NOCYCLE
    NOCACHE;
โดย
- START WITH 1: เริ่มโดย 1
 - INCREMENT BY 1: เพิ่มครั้งละ 1
 - MINVALUE 1: ค่าขั้นต่ำคือ 1 ( คือจริง ๆ แล้วตั้ง sequence ติดลบได้ แต่มันจะใช้แปลก ๆ )
 - MAXVALUE 999999: ใช้สำดับสุงสุดคือ 999999
 - NOCYCLE ป้องกันการวน sequence
 - NOCACHE ป้องการเตรียม sequence ไว้เพื่อ performance
 
ส่วนใหญ่จะใช้กันแค่
 CREATE SEQUENCE pp_prototype_seq
    START WITH 1
    INCREMENT BY 1
    NOMAXVALUE
    NOCACHE;  
Note: oracle กำหนดชื่อ object ไว้แค่ 31 ตัวอักษร พยามย่อให้สื่อความหมายมากที่สุด
การใช้จะใช้แทนค่าที่จะเป็น pk โดยมีรูปแบบ {sequence name}.NEXTVAL
ตัวอย่างการใช้
 INSERT INTO prototypes (
    id,
    name,
    description
) VALUES (
    pp_prototype_seq.NEXTVAL,
    'Pitt Phunsanit',
    'Programmer, Creator, Writer'
);
อ่านเพิ่มเติม