MSSql üzerinden yapıyorum, Elimde 2 tane table var, bunlar trigger ile ürünlerin hepsini toplayıp sonucunun yazıldığı bir tablo, imhatoplam ve satistoplam adında 2 tane table, içinde hep aynı stünlar var ve her hangi birinde veri güncellenmesi veya girişi olduğu zaman otomatik olarak stok_tablo adlı tabloya imhatoplam - satistoplam = stok_tablo gibi bir şey olmasını istiyorum, denediğim şeyler çalışmadı yarım edebilir misiniz, aşağıda kodları ve stün gibi şeyleri atıcam tablo 1 adi: imhatoplam Tablo 1 stünları: toplam_imha plastik_toplam metal_toplam cam_toplam tekstil_toplam ahsap_toplam komp_toplam tablo 2 adı: satistoplam tablo 2 stünları: toplam_imha plastik_toplam metal_toplam cam_toplam tekstil_toplam ahsap_toplam komp_toplam tablo 3 adı: stok_tablo tablo 3 stünları: toplam_imha_kagit plastik_imha metal_imha cam_imha tekstil_imha ahsap_imha komp_imha chatgpt olsun başka ai olsun çözemedim yardım ederseniz mutlu olurum |
SQL Stok tablosu takip
-
-
ingilizce olmayınca gerçekten anlamıyorum ingilizce yazma şansınız var mı? bir de neden her tabloda toplan imha sütunu var konuyls alakasız geldi ve bence yaptığınız tablo bcnfye çok aykırı geldi. -
Ben yaşadığım için azçok biliyorum
Stok-lar içinde mutlaka deformasyon olabildiği gibi (su baskını - küf - düşme vs vs) bunların bir kısmı bu şekilde depo çıkışı yapılması gerekiyor. Adı imha olur Zayi olur bu iş grubuna göre değişir. Misal ülker grubundan bahsedeyim, süreli gıda ürünleri firmaya yani merkez ülkere ellerinde tüketim tarihi geçmiş ürünler veya çok kısa süreli olan süt yoğurt gibi ürünlerin bir reçetesini oluşturup merkeze bilgi verir, oradan onay alındıkdan sonra da ülker müfettişinin eşliğinde İMHA edilirler. Ve bunun stokda durması gerekir
- olarak firmanın stok raf ömrü konularında bilgi verir
- olarak da firmanın/bayinin imha ettiği stoklar hakkında istatistik sağlar..
kendi tecrübemden paylaşmış olayım
-
olmaz öyle.
stok kartları ve transaction tablosu olur.
transaction tablosunda hareket alanı olur. giren pozitif çıkan negatif olarak kayıt edilir.
tablo alanda sum işlemi yapıldığında net sonucu vermelidir.
Ayrıca ayrı bir alanda işlemin giriş veya çıkış olarak işaretlenmesi gerekir.
transaction tablosunda hareket kaydı yaparken bunlara başka bir alan yardımı ile etiketleyebilirsin., çıkışlar için imhadır zayidir, satıştır, kullanımdı vs. girişler için satın alma, bağış, transfer vs.
GROUP BY yaparak sum işleminde gereken tüm detayları çıkarabilirsin.
SQL İŞLEMLERİNDE KAFANIZA GÖRE İŞ YAPMAYIN, ALTINDAN KALKAMAZSINIZ
-
trigger ile toplama. hem yavaşlatır hem de bazı teknik sakıncaları olan birşey trigger. computed column da kullanma. sadece toplama ihtiyacın olduğunda select ile topla. tek bir stok hareketleri tablon olsun. tip diye bir alan aç ve o alana tip alanına kaydet stok hareket tipini. arkadaşın dediği gibi girişler + çıkışları - işaretle kaydet.
hareket tipleri şöyle olabilir:
-transfer
-satış
-sipariş
-satınalma
-teslim alındı
-teslim edildi
depo kodu diye bir alan da ekle
imha deposuna transfer ettiğin ürünler imha edilmiş olur. bu depodan satış yaptığında da imha edilmiş olur (aslında gerçek bir erp'de böyle yapılmaz ama basitçe halletmiş olursun).
< Bu mesaj bu kişi tarafından değiştirildi beyinsis -- 12 Temmuz 2023; 12:33:18 > -
neden anlamıyorsun çok merak ettim? yurtdışı doğumlu falan mısın? bir de bcnf nedir?
-
çok zeki bi insan olmadığım için bi trigger diyip ingilizce bi tablo türkçe konuşunca hızlıca dil değiştiremiyorum.
bcnf boyce codd normal form demek youtubeda aratabilirsin her dbms kitabında yazar zaten. -
atomu parçalamıyoruz arkadaşım yere in biraz. insanların anlayabildikleri kadar anlatabilirsin. derdin anlatmaksa biraz değişmelisin.
nerde çalıştığını merak ettim.
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X