Selam arkadaşlar..
Şimdi Stok Hareket tablom ve stokbakiye tablom var..Şimdi en basitinden yapmak istediğim şu; stokhareket tablosuna bir kayıt yaptığımda örnek aşağıda;
150 01 001 GİRİŞ 12 KG DEPO-01
gibi..şimdi burda DEPO-01 kodlu depoya 12 KG ürün girmiş..bir trigerla (AfterInsert) STOKBAKIYE tablosunda 150 01 001 stok kodu ile DEPO-01 depo kodu ile hiç kayıt varmı ona bakacak eğer yok ise STOKBAKIYE tablosuna aşağıdaki kaydı oluşturacak..
150 01 001 12 DEPO-01
bir dahaki sefer yine aynı stok kodu ve aynı depo kodu ile stokhareket tablosuna kayıt yapılırsa artık kayıt olduğundan miktarı - veya + değiştirecek..
Triger yazmada sorunum yok ama trigerda kayıt arama nasıl yapılır bilemiyorum..
SP veya trigerla bakiye hesaplama..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: SP veya trigerla bakiye hesaplama..
Kullandığınız veri tabanını yazmamışsınız. Mesala MySQL'de böyle bir aramaya ihtiyaç yoktur. Eğer INSERT ederken kayıt mevcutsa, güncellenmesini sağlayabiliyorsunuz SQL komutunuzda. http://dev.mysql.com/doc/refman/5.0/en/ ... icate.html
Re: SP veya trigerla bakiye hesaplama..
Hocam kusura bakma Firebird 2.1 kullanıyorum..
Re: SP veya trigerla bakiye hesaplama..
Yabancı bir kaynaktan gördüğüm şekliyle şu şekilde problem çözüldü..
Stokhareket tablosunun after insert trigerına;
şeklinde yazdığımda problem çözüldü, önce kaydı aryor, kayıt yok ise diğer tabloya ilk kaydı yapıyor, kayıt var ise sadece bakiyeyi hesaplıyor..
Stokhareket tablosunun after insert trigerına;
Kod: Tümünü seç
if (NOT exists (SELECT * FROM STOKBAKIYE WHERE STOKKODU=NEW.STOKKODU AND DEPOKODU=NEW.DEPOKODU)) then
INSERT INTO STOKBAKIYE (STOKKODU,DEPOKODU,BAKIYE) VALUES(NEW.STOKKODU, NEW.DEPOKODU,(NEW.GIRIS-NEW.CIKIS));
Else Begin
UPDATE STOKBAKIYE
SET
STOKBAKIYE.BAKIYE=STOKBAKIYE.BAKIYE+
(NEW.GIRIS-NEW.CIKIS)
WHERE
NEW.STOKKODU=STOKBAKIYE.STOKKODU AND NEW.DEPOKODU=STOKBAKIYE.DEPOKODU;
Re: SP veya trigerla bakiye hesaplama..
Güzelde delete ve updatede de trigger yazmalısın.

Bir kelimenin anlamını öğretsen bile yeter..



Re: SP veya trigerla bakiye hesaplama..
biliyorum tabi onları yazacağımıda ancaki onlarda kaydı aramaya gerek yok direk update ile başlayan kısım yazılacağından zaten problemim o değildi...