Apa Itu Sequence?
Sequence adalah salah satu object di database Oracle yang digunakan untuk melakukan penomoran otomatis. Kalau di database MySQL dikenal dengan nama Auto Increment. Sequence biasanya digunakan sebagai Primary Key.Di Oracle database, Anda dapat membuat Sequence dengan kelipatan 1, 2, 3, dan lainnya sesuai dengan kebutuhan.
Sintak Dasar
Di bawah ini adalah sintak dasar untuk membuat 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 membuat 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 membuat sequence seperti di atas, langkah selanjutnya adalah menggunakan sequence untuk proses insert data maupun select (menampilkan) data.Untuk menampilkan urutan nilai selanjutnya pada Sequence, Anda bisa menggunakan perintah NEXTVAL. Sedangakan kalau Anda ingin menampilkan urutan terakhir Sequence, Anda dapat menggunakan perintah CURRVAL.
Di bawah ini adalah contoh 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 membuktikan apakah Sequence SEQ_PROD benar-benar berjalan sesuai, Anda dapat melakukan proses query pada tabel Products seperti query berikut:
SQL> SELECT * FROM products; PRODUCT_ID PRODUCT_NAME QTY ---------- ------------------ ------- 1 Susu Ultra 100
Sedangkan di bawah ini adalah contoh penggunaan Sequence pada Select Statement
SQL> SELECT SEQ_PROD.nextval 2 FROM dual; CURRVAL ---------- 2
Sedangkan untuk menampilkan nilai terakhir pada Sequence, Anda bisa menggunakan keyword CURRVAL seperti 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 bisa menggunakan 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 dapat menggunakan perintah DROP SEQUENCE seperti sintak di bawah ini:DROP SEQUENCE sequence_name;
Contoh:
DROP SEQUENCE seq_prod;
0 comments:
Post a Comment