การสร้าง sequence ใน oracle 10g ัมนไม่ได้ง่าย ๆ แบบ drop แล้ว create แต่จะมีโครงสร้างที่ซับซ้อนขึ้นมาเล็กน้อย หรือจะให้ reindex table sequence ใหม่โดยเริ่มจากหมายเลข xxx
เราสามารถจะ query หา sequence ปัจจุบัน ได้จาก
SELECT sequence_name, last_number, increment_by, AS next_value
FROM user_sequences
WHERE sequence_name = 'PP_PROTOTYPE_SEQ';
การลบ sequence
ตัวอย่างจะ drop sequence ชื่อ pp_prototype_seq
-- Drop sequence pp_prototype_seq if it exists
BEGIN EXECUTE IMMEDIATE 'DROP SEQUENCE pp_prototype_seq'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -2289 THEN -- ORA-02289: sequence does not exist
RAISE;
END IF;
END;
/
จากนั้นจึงจะ create sequence ชื่อ pp_prototype_seq ขั้นมาใหม่ หรือจะ re-index sequence ใหม่ได้ เช่น
-- Create a sequence for the auto-increment ID
CREATE SEQUENCE pp_prototype_seq START WITH 24 INCREMENT BY 1 NOMAXVALUE NOCACHE;
จะเริ่มนับ pp_prototype_seq โดยเริ่มจากลำดับที่ 24