Apa Itu Sequence?
Sequence yakni salah satu object di database Oracle yang dipakai untuk melaksanakan penomoran otomatis. Kalau di database MySQL dikenal dengan nama Auto Increment. Sequence biasanya dipakai sebagai Primary Key.Di Oracle database, Anda sanggup menciptakan Sequence dengan kelipatan 1, 2, 3, dan lainnya sesuai dengan kebutuhan.
Sintak Dasar
Di bawah ini yakni sintak dasar untuk menciptakan Sequence di Oracle database:CREATE SEQUENCE sequence_name MINVALUE value MAXVALUE value START WITH value INCREMENT BY value CACHE value;
Membuat Sequence
Sebagai latihan, cobalah Anda menciptakan tabel Orders dengan sintak di bawah ini:CREATE TABLE PRODUCTS ( PRODUCT_ID NUMBER(5), PRODUCT_NAME VARCHAR2(30 BYTE), QTY NUMBER(3) ); ALTER TABLE PRODUCTS ADD ( CONSTRAINT PRODUCTS_PK PRIMARY KEY (PRODUCT_ID);
Buatlah Sequence dengan nama SEQ_PROD dengan di mulai dari 1, nilai minimum 1, nilai maximum 99999 dan kelipatan 1.
SQL> CREATE SEQUENCE SEQ_PROD 2 MINVALUE 1 3 MAXVALUE 99999999999 4 START WITH 0 5 INCREMENT BY 1 6 NOCACHE; Sequence created.
Menggunakan Sequence
Setelah Anda menciptakan sequence ibarat di atas, langkah selanjutnya yakni memakai sequence untuk proses insert data maupun select (menampilkan) data.Untuk menampilkan urutan nilai selanjutnya pada Sequence, Anda sanggup memakai perintah NEXTVAL. Sedangakan bila Anda ingin menampilkan urutan terakhir Sequence, Anda sanggup memakai perintah CURRVAL.
Di bawah ini yakni pola penggunaan Sequence pada Insert Statement.
SQL> INSERT INTO products 2 VALUES(SEQ_PROD.nextval, 'Susu Ultra', 100); 1 row created. SQL> commit; Commit complete.
Untuk mengambarkan apakah Sequence SEQ_PROD benar-benar berjalan sesuai, Anda sanggup melaksanakan proses query pada tabel Products ibarat query berikut:
SQL> SELECT * FROM products; PRODUCT_ID PRODUCT_NAME QTY ---------- ------------------ ------- 1 Susu Ultra 100
Sedangkan di bawah ini yakni pola penggunaan Sequence pada Select Statement
SQL> SELECT SEQ_PROD.nextval 2 FROM dual; CURRVAL ---------- 2
Sedangkan untuk menampilkan nilai terakhir pada Sequence, Anda sanggup memakai keyword CURRVAL ibarat query di bawah ini:
SQL> SELECT SEQ_PROD.currval 2 FROM dual; CURRVAL ---------- 1
Menampilkan Daftar Sequence
Untuk menampilkan daftar sequence di suatu database, Anda sanggup memakai query di bawah ini:SQL> SELECT * FROM user_sequences; SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY C O CACHE_SIZE LAST_NUMBER ------------------------------ ---------- ---------- ------------ - - ---------- ----------- SEQ_PROD 1 1,0000E+11 1 N N 0 3
Menghapus Sequnce
Untuk menghapus sebuah Sequence di database, Anda sanggup memakai perintah DROP SEQUENCE ibarat sintak di bawah ini:DROP SEQUENCE sequence_name;
Contoh:
DROP SEQUENCE seq_prod;