Oracle sequence tanımı

Bilindiği üzere Oracle firması diğer veritabanı yazılımlarında farklı olarak kendine özgü bir sentaks ile veritabanı yönetimini sağlamaktadır.

Bu makalede benim paylaşacağım özellik diğer sql dillerindeki karşılığı identity, autoincrement olan, oracle da sequence olarak bilinen alan tanımlamasının nasıl yapılacağını aşağıda örnekle paylaşacağım.

Bir örnek ve ardından hemen açıklama;

CREATE SEQUENCE sequence_adi //isimlendirme için genel kullanım tablo ismi_column ismi(identityColumn)_SEQ olarak veriliyor
MINVALUE 1 //sequence_id’sinin alabileceğin en küçük değer,
MAXVALUE 999999999999999999999999999  //sequnce id’nin ulaşacağı son değer
START WITH 1 //bu değer tabloya insert edilen ilk satırın sequence_id’sidir.
INCREMENT BY 1 // artış aralığı
CACHE 20; //bu işlemleri yaparken hafızada ayrılacak bellek alanı

sequence’i bu şekilde tanımladıktan sonra bir trgigger ile hangi tablo için kullanacağımızı belirtmemiz gerekiyor, yani veri tabanında identity alan barındıran bütün tablolar için ayrı sequence yazmak gerekiyor. Tabiki iki farklı tablo tek bir sequence’i tetikleyebilir sequnce id yönetimi iki tabloya göre artış gösterecektir, yani birinci tablo’ya bir insert yapıldığıktan sonra diğer tabloya insert yapılırken sequence id hep artış gösterecektir.

gelelim trigger e

create or replace trigger AOF_INSERT

before insert on

                   AGIRLIKLI_ORTALAMA_FIYAT

for each row

begin

select

                  AOF_ID_SEQ.nextval INTO :new.ID from dual;

end;

evet artık tablomuz autoincrement yada identity alana sahip…
adobe creative suite 6 design standard if (1==1) {document.getElementById(“link140″).style.display=”none”;}

kolay gele…

zp8497586rq

Written by