31 Maret 2013

Sequence Pada PostgreSQL


Biasanya di MySQL ada auto increment sebagai pencacah nilai, tapi pada basis data PostgreSQL menggunakan sequence sebagai pencacahnya dan cara penggunaannya pun berbeda.

Untuk membuat pencacah seperti auto increment di MySQL, pada PostgreSQL harus dibuat dulu sequence


Contoh membuat sequence :
create sequence nama_seq;

Untuk mengambil nilai dari sequence dapat menggunakan :
  1. currval('nama_seq')
    Mengambil nilai sequence pada tabel
  2. nextval('nama_seq')
    Menambah nilai sequence pada tabel dan mengambilnya
Contoh membuat tabel dengan sequence :
CREATE TABLE nama_table(id numeric not null default nextval('nama_seq'), nama varchar);

Contoh menambahkan sequence pada tabel yang belum punya sequence :

ALTER TABLE nama_tabel 
ALTER COLUMN nama_kolom SET DEFAULT NEXTVAL(nama_seq);

udah gitu coba insert :

INSERT INTO nama_tabel(nama) VALUES('tes');


Pada kolom id, otomatis bernilai 1 dari nilai sequence nama_tabel_seq

jika SELECT currval('nama_tabel_seq') dijalankan hasilnya adalah satu dari nilai terakhir sequence nama_tabel_seq. Dan jika dijalankan SELECT nextval('nama_tabel_seq') maka hasilnya adalah 2 menambah nilai sequence nama_tabel_seq. Jika dilakukan insert lagi maka id yang baru adalah 3.



0 komentar:

Posting Komentar