none
Bir sütundaki değere matematiksel işlem uygulayıp diğer sütuna aktarmak RRS feed

  • Soru

  • Öncelikle merhabalar.

    Kullanıcıdan sipariş aldırıyorum.Yönetici bu siparişi onaylayınca adet'le fiyatı çarptırıp total sütununa aktarıyorum.Benim isteğim total sütununa da %18 kdv uygulayıp satış fiyatı sütununa aktarmak. alter table add total + (total*18/100) şeklinde birşeyler denediğimde ise işlem yapılmış sütuna işlem yapma izni verilmemiş gibi bir hata aldım nasıl çözeceğimide bilemiyorum.Yardımcı olursanız sevinirim :)

    31 Temmuz 2013 Çarşamba 22:33

Yanıtlar

Tüm Yanıtlar

  • ALTER TABLE mevcut tabloya değer atamak için kolon eklemek için kullanılır. Tabloda Total isminde bir kolon varsa bir daha ALTER ile düzenleme yapmamalısınız. UPDATE cümlesiyle bu işi yapacaksınız.

    Uygulmayı Web'te yaptıysanız onay verdiği bölümün altına UPDATE Table SET Total=.... WHERE SiparişId=... gibi yazmanız yeterli olacaktır. Veya trigger ile yapabilirsiniz.


    Ahmet Kaymaz
    http://www.ahmetkaymaz.com
    C# VB.NET ASP.NET kitabı

    1 Ağustos 2013 Perşembe 06:22
  • SiparişId kullanıcıdan alınmıyor.Daha doğrusu kullanıcıdan alınan siparişid onaylanıp başka tabloya aktarılıyor.İnsert into siparis_onaylanan (siparis_id,ad,soyad,adet,fiyat,vs,vs) select siparis_id,ad,soyad,adet,fiyat,vs,vs from onsiparis şeklinde aldırıyorum. Sipariş onaylandığı zaman total sütununa adet*fiyat bilgisi giriliyor.O işi Alter table add adet*fiyat as Total int şeklinde halletim.Ben aynı zamanda total'e %18 kdv uygulanmış fiyatınında satışfiyat sütununa eklenmesini istiyorum.Yani kullanıcı adet fiyatı giriyor.Sipariş onaylanıyor.Total'e kdv'siz fiyatı aktarılıyor.Satışfiyat'a total'in %18 kdv eklenmiş hali ekleniyor.İstediğim bu teşekkürler ilginiz için.

    1 Ağustos 2013 Perşembe 10:12
  • Caner,

    Hesaplanmis sutunlar ya tabloyu yaratirken ya da daha sonra alter table ile olacak. Ondan sonrasi otomatik. Yani bir kere:

    alter table myTable add satisFiyat as (total * 118/100)

    1 Ağustos 2013 Perşembe 10:21
  • Çetin Bey total sütunum da hesaplanmış bir kolon.Hesaplanmış bir kolon üzerinden işlem yapmaya çalışınca izni yok hatası veriyor. Computed column 'total' in table 'Siparis_onaylanan' is not allowed to be used in another computed-column definition.Bu izni nasıl verebilirim ?
    2 Ağustos 2013 Cuma 14:58
  • Onun hesaplanmıs oldugunu unuttum:

    alter table myTable 
    add satisFiyat as ((fiyat * adet) * 118/100)

    • Yanıt Olarak İşaretleyen Caner Ünver 3 Ağustos 2013 Cumartesi 10:51
    2 Ağustos 2013 Cuma 22:36