Sequence Pada Oracle SQL

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;

Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment