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 :
currval('nama_seq')
Mengambil nilai sequence pada tabelnextval('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