PostgreSQL Farklı Tablonun Sequencini Kullanmak

PostgreSQL Farklı Tablonun Sequencini Kullanmak,”SEQUENCE Nedir? Nasıl Oluşturulur?”  isimli yazımda seqeunce’i detaylı olarak anlatmıştım. Sequence ile ilgili kafanızda soru işaretleri varsa okumanızı tavsiye ederim.

İlk tablomuzu oluşturalım.

 

create table seqtable1 (id serial ,adi char(100))

Yukarıdaki tabloda id kolonunda serial veri tipini verdiğimiz için “seqtable1_id_seq” adında sequence oluşturulmuştur. Sequence’i görüntülemek için sequencelere bakabilirsiniz.

İlk tablomuza veri ekleyerek sequence kullanılacak mı bakalım.

 

insert into seqtable1(adi) values ('faruk')

insert into seqtable1(adi) values ('erdem')

Verilerimizi ekledik aşağıdaki şekilde tablomuzdaki verilerimizi kontrol edelim.

Seqtable2 adında İkinci tablomuzu oluşturalım  ve bunu oluştururken id kısmına nextval parametresi ile seqtable1_id_seq adında  oluşan sequencimizi verelim.

create table seqtable2(id int not null default nextval('seqtable1_id_seq'),adi char(100))

Verilerimizi ekleyelim .

insert into seqtable2(adi) values ('utku')

insert into seqtable2(adi) values ('erdem')

Seqtable1 tablomuzda son verimiz id kolonundaki değerin bir fazlası olmasını bekliyoruz. Seqtable2 tablosundan select çekerek id kolonu 3 ile başlamış mı görelim.

İnsert cümlesinde nextval parametresi ile bir sonraki değeri kullanmak isterseniz aşağıdaki komuttan yararlanabilirsiniz.

Syntax:

insert into tabloadi(kolon1,kolon2) values (nextval(‘sequence adi’),kolon2verisi)

Örnek :

insert into seqtable2 values (nextval('seqtable1_id_seq'),'ERDEM')

Loading