Veritabanları ile ilgili bir forum kategorisi bulamadığım için başlığı buraya açayım dedim. ;D
Oracle'ın 10G Express Sürümünü kullanıyorum. number tipindeki id değerinin eklenen her kayıtta otomatik olarak artmasını nasıl sağlayabilirim? :-\
Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 23 Mayıs 2012 - 21:13:35
çözdüm. kendisi otomatik sequence atıyor bunun için. atmıyorsa da kendimiz atmalıymışız.
Oracle'da otomatik arttırma işlemi yukarıda denildiği gibi sequence'lar aracılığı ile yapılıyor. Otomatik arttırma işleminin başlangıç değeri, maksimum değeri, minimum değeri, artım miktarı ve cache miktarını belirlemek mümkün.
Bir sequence yaratan kod örneği;
CREATE SEQUENCE seq_examplesequence --- sequence'ın ismi
MINVALUE 1 --- alabileceği min değer
MAXVALUE 999999999999999999999999999 --- alabileceği maksimum değer
START WITH 1 --- alınacak ilk değer
INCREMENT BY 1 --- artım oranı
CACHE 20; --- cache miktarı (performans açısından belleğe alınan miktar)
Test için;
select seq_examplesequence.nextval from dual
Bu kodu üst üste çalıştırdğınızda start with değerinden itibaren her bir çalıştırmada increment by değeri kadar, en fazla max değere artarak gider.
Sequence değerini arttırmadan mevcut değeri tespit etmek için;
select seq_examplesequence.currval from dual
sorgusu kullanılabilir.