Arkadaşlar, sözgelimi 3 sütun olsun bir tabloda. Şöyle ki. ID, ToplamBorç, YeniBorç
Yani ToplamBorç, önceki satırdaki ToplamBorç ve şimdiki satırdaki YeniBorç toplamıdır.
Şimdi, diyelim ki, 10 kayıt var ve ben 5. kayıtta değişiklik yaptım. Haliyle, 6,7,8,9,10 kayıtlarındaki ToplamBorç değerleri değişecektir.
İşte bir döngü kullanmadan, bu değişiklikleri hesaplayarak güncelleyen SQL cümlesi ne olabilir?
Biraz araştırdım, UPDATE komutunun gelişmiş kullanılma durumu da varmış. Ama uyarlayamadım. Buraya kopyalayayım, belki size fikir verir.
Teşekkürler...
------------------------- UPDATE supplier SET supplier_name = ( SELECT customer.name FROM customers WHERE customers.customer_id = supplier.supplier_id) WHERE EXISTS ( SELECT customer.name FROM customers WHERE customers.customer_id = supplier.supplier_id); --------------------------
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Arkadaşm nasıl insert yapıyorsun bu tabloya.. Açıkcası ben nasıl bir veri saklama mantığın oldugunu pek anlayamadım. Mesela eski borçları tutman gerekiyor mu? Evetse yeniborc alanına neden ihtiyacın var, fazla gibi. Cunku zaten borcları sıraladıgında aralarındaki fark borcun ne oldugunu gosterecekir. Yani asıl database yapını bi kontrol edip değiştirmeye bak bence..
Ya arkadaşlar, ben sadece örnek olsun diye basitleştirerek verdim. Oysa gerçekte Devir, Zimmet, İade, Tahsil gibi alanlar sözkonusu. Mesela Devir, adamın o anki borcu; Zimmet ise, yeni aldığı ürünün ücreti. Böylelikle sonraki kayıttaki Devir, bu ikisinin toplamı olacaktır.
ID, ToplamBorç, YeniBorç
Yani ToplamBorç, önceki satırdaki ToplamBorç ve şimdiki satırdaki YeniBorç toplamıdır.
Şimdi, diyelim ki, 10 kayıt var ve ben 5. kayıtta değişiklik yaptım. Haliyle, 6,7,8,9,10 kayıtlarındaki ToplamBorç değerleri değişecektir.
İşte bir döngü kullanmadan, bu değişiklikleri hesaplayarak güncelleyen SQL cümlesi ne olabilir?
Biraz araştırdım, UPDATE komutunun gelişmiş kullanılma durumu da varmış. Ama uyarlayamadım. Buraya kopyalayayım, belki size fikir verir.
Teşekkürler...
-------------------------
UPDATE supplier
SET supplier_name = ( SELECT customer.name
FROM customers
WHERE customers.customer_id = supplier.supplier_id)
WHERE EXISTS
( SELECT customer.name
FROM customers
WHERE customers.customer_id = supplier.supplier_id);
--------------------------
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.