-
Üyelik
27.10.2012
-
Yaş/Cinsiyet
31 / E
-
Meslek
-
-
Konum
Aydın
-
Ad Soyad
C** K**
-
Mesajlar
169
-
Beğeniler
8 / 26
-
Ticaret
0, (%0)
Sormak istediğim şey programlama dillerinde if, else if, else gibi komutları microsoft accesste sql ile nasıl kullanabiliriz.
Örnek soru:
Kayıtların bağlı olduğu operatörlere göre "kdv" alanını hesaplatınız. (Avea=%3, Vodofone=%4, Turkcell=%6)
şimdi bu soruyu 3 tane ayrı ayrı sorgu açarak yapmak basit. Örneğin:
Sorgu1:
UPDATE Tablo1
SET kdv=tutar*0.03
WHERE operator="Avea"
Sorgu2:
UPDATE Tablo1
SET kdv=tutar*0.04
WHERE operator="Vodofone"
Sorgu3:
UPDATE Tablo1
SET kdv=tutar*0.06
WHERE operator="Turkcell"
Size sorum; bu 3 sorguyu tek bir sorguda nasıl çalıştırabiliriz?
Yardımcı olursanız sevinirim :)
-
Üyelik
25.06.2012
-
Yaş/Cinsiyet
38 / E
-
Meslek
Engineering Director
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** C**
-
Mesajlar
771
-
Beğeniler
2 / 260
-
Ticaret
0, (%0)
Kod içinden çağırman daha iyi olur. kodun bakımı daha rahat olur yarın daha kompleks bir şey yazmak istediğinde programlama dili ile daha rahat yapabilirsin.
t-sql -> prosedürel dildir, c# object oriented dildir.
Hea yok ben ille de t-sql ile yapacam diyorsan.
bir adet stored procedure yaz, tek parametre alsın istediğin gibi koşullar ile güncelle.
C# client ile basit bir çağrımı;
SqlParameter[] sqlParameters =
{
new SqlParameter("@operator", operator)
};
SqlHelper.ExecuteNonQuery("connectionString", CommandType.StoredProcedure, "kdv_hesapla", sqlParameters);
DDL ;
create procedure kdv_hesapla(
@operator varchar(50)
)
as
begin
if (@operator = 'Avea')
begin
UPDATE Tablo1
SET kdv=tutar*0.03
WHERE operator='Avea'
end
else if (@operator = 'Vodofone')
begin
UPDATE Tablo1
SET kdv=tutar*0.04
WHERE operator='Vodofone'
end
else if (@operator = 'Turkcell')
begin
UPDATE Tablo1
SET kdv=tutar*0.06
WHERE operator='Turkcell';
end
end
https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)