fire birdde tabloya kayıt girildikten sonra

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
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

fire birdde tabloya kayıt girildikten sonra

Mesaj gönderen meron06 »

Sel.Al.arkadaşlar.forumda çok aradım ama yapmayı beceremedim.şimdi bi tablom var .tablomda ki muşterino adlı bi alanım var.tabloma kayıt girildikten sonra girilen kaydın generatör değerini muşteri noya atmak istiyorum ama bi türlü yapamadım.bu trigger ı nasıl tanımlayabilirim.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

viewtopic.php?t=10601&highlight=select+generator

Selam kısaltman da çok tuhafıma gitti :roll:
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

blue alone arkadaşım aslında tam olarak yapmak istediğim şeyi anlatamadım sanırım.şimdi ben kayıt girildikten sonra yapmak istiyorum bunu.sebebine gelince çok kullanıcılı bi sistemde en son generatör değerini alıp bir arttırmak sorun çıkarabilir.ben kayıt girilsin her iş bitsin sonrada kayıdın musteri_gen alanındaki değeri muşterino alanına almak istiyorum.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

O zaman max çekip bir artırarak yapman lazım..
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

diyelimki max çekip bir arttırdık o anda başka bi kullanıcıda max çekip bir artırırsa aynı numarada 2 tane muşteri olacak.ben bunun engellemek istiyorum.yani kayıt girilecek commit edilecek commit edildikten sonra o kaydın muşterı gen nosu musterı noya triggerla aktarılacak.kolay gibi ama beceremedim bi turlü.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Aynı triggerda ilgili alana aynı değeri ata ya da committen sonra yeniden update et madem.
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

Arkadaşlar sorunu çözdüm.şu şekilde hallettim tablomn before inset olayına şu trgerı yazdım.

if (NEW.musteriid IS NULL) then
NEW.musteriid=GEN_ID(musteri_gen,1);
NEW.musterino=NEW.musteriid;
end

çalışıyor.işallah doğru bi yoldur.iyi çalışmalar arkadaşlar.
Cevapla