generator tabloları

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
serhatcoban
Üye
Mesajlar: 1
Kayıt: 04 Tem 2007 06:45

generator tabloları

Mesaj gönderen serhatcoban »

selam delphiden firebird deki generator tablolarımın içindeki id lere erişmem lazım nasıl yapılır yazarsanız çok memnun olurum teşekkürler
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Ne yapmak istediğinizi tam çıkaramadım ama bu konuyu baya bir konuştuk : )

search.php

Generator yazarak bir aratın. Eğer sonuçlarda işinizi gören bir başlık yoksa, lütfen ne yapma istediğinizi biraz daha detaylı anlatın.

Kolay gelsin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Ne istediğiniz tam anlaşılmıyor? ID lerde generator diye bir şey yok! Sadece primary key (birincil anahtar alan) lar için alana artırarak değer atama amaçlı kullanılan sayaçlardır. Onu da bir halde artırmanız lazım. Yoksa kendi kendine artmaz. Tüm generator lere ulaşmak için sistem tablolarını SELECT etmeniz lazım. Mesela

Kod: Tümünü seç

select * from RDB$GENERATORS 
ile tüm generator ve değerlerine ulaşabilirsiniz. Firebird de sistem tabloları genelde RDB$xxx şeklindedir.
Adı bilinen bir generatore ise;

Kod: Tümünü seç

select GEN_ID(GEN_STOK_ID, 0) from rdb$database
Buradaki sıfıra dikkat edelim. Onun yerine herhangi bir pozitif (+) sayı konursa GEN_ID fonksiyonu ilgili generator u o kadar artıracak ve geri döndürecek, negatif (-) sayı durumunda da o kadar azaltıp geri döndürecektir :idea:
INSERT de ise;

Kod: Tümünü seç

INSERT INTO TABLOM (ID, ADI, SOYADI) VALUES (GEN_ID(GEN_ID, 1), 'ALİ', 'VELİ..')
şeklinde kullanılabilir.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla