interbase triggerla alakalı

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
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

interbase triggerla alakalı

Mesaj gönderen true_false »

merhabalar sorum şudur;

Kod: Tümünü seç

AS
begin
  NEW.sira_no = gen_id(gen_sira , 1) ;
end
(interbase)bu kodu sira_no alanının otomatik olarak artması için kullandım
delphide tabloda kayıt ekliyorum sıra numaram otomatik olarak artıyo fakat delete yaptığım zaman sira numarası kaldığı yerden devam ediyor.

örneğin son olarak 60 tane kayıt ekledim ve 40. kayıda kadar olan bilgilerimi tablomdan sildim yeni kayıt eklediğim zaman bunun sıra numarası 61 olarak kayıt oluyo...
not şimdiden vermiş olduğunuz güzel cevaplar için teşekkür ederim
type
Tform1 = class(Tform)
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

aslolan da bu sekilde olmasıdır.
verilen bir sırano baska kayıta verilmemeli
eger sıranoyu kendiniz bir sorgu ile (max degeri) olusturursanız
istediginiz sekilde kullanabilirsiniz.
Eger problem teskil etmiyorsa boyle olması daha avantajlıdır.
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
ne yapmasını bekliyorsun ki? :D
yazdığın triger generatörün değerini bir arttırıp değeri sana gönderiyor. sildiğin kayıtların id sini başka kayıtlara versin diyorsan bu biraz baş ağrıtan işlemler yapman gerekecek demektir. silinen kayıtların id sini başka bir tabloda tutabilirsin. triger önce bu tablodaki kayıtlardan numara verir. tablo boşsa generatörden değer verir.

bir ikinci durumda tabloyu tamamen boşalttığında generatörü de sıfırlaman gerekebilir. bu durumdada

Kod: Tümünü seç

 set generator gen_xxxx to 0
diyerek generatöre yeni değerini atabilirsin.
Kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

hayır şuan programım deneme aşamasında ve üfürükten kayıtlar giriyorum bunu resetleme şansımız varmı yani tekrar baştan başlasın
type
Tform1 = class(Tform)
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

evet var
aslangeri yazdı: bir ikinci durumda tabloyu tamamen boşalttığında generatörü de sıfırlaman gerekebilir. bu durumdada

Kod: Tümünü seç

 set generator gen_xxxx to 0
diyerek generatöre yeni değerini atabilirsin.
Kolay gelsin.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

sevgili arkadaşlar biliyorum benim hakkımda ii düşünmüyosunuz ama cahilliğime verin cevaplarınız ve benimle ilgilendiğiniz için teşekkür ederim
type
Tform1 = class(Tform)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

true_false yazdı: teşekkür ederim
bunu diyebilen birisi hakkında nasıl kötü düşünebiliriz.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla