Site icon PlusMagi's Blog By Pitt Phunsanit

Oracle: sequence ( auto increment )

กลับมาเจอโจทย์เก่า เพื่อนเก่า Oracle 10g ที่เป็นเอกลักษณ์ของมันก็คือ auto increment หรือ pk ( primary key ) จะเรียกว่า sequence เพราะว่า

การสร้าง sequence อย่างง่าย ๆ ทำโดยคำสั่ง SQL

CREATE SEQUENCE {sequence name}_seq
 START WITH 1
 INCREMENT BY 1
 MINVALUE 1
 MAXVALUE 999999
 NOCYCLE
 NOCACHE;

โดย

ส่วนใหญ่จะใช้กันแค่

 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'
);

อ่านเพิ่มเติม

Exit mobile version