Forum

MSSQL Dinamik Where...
 
Bildirimler
Hepsini Temizle

MSSQL Dinamik Where Kullanımı

3 Yazılar
3 Üyeler
0 Likes
346 Görüntüleme
(@TolgaErenay)
Gönderiler: 2
Active Member
Konu başlatıcı
 

Arkadaşlar merhabalar; 
Saklı yordamda Where ifadesinden sonrası için özelleştirme yapmak mümkün müdür acaba? Yani sorguya gönderdiğim parametreye göre where koşuluna göndereceğim ifadeyi değiştirebilir miyim? Daha açıklayıcı olması açısından aşağıdaki sorguyu ekliyorum. Bilgisi olan arkadaşlar yardımcı olabilirse çok sevinirim. Şimdiden teşekkür ederim. 

DECLARE @YerlesimID INT; 
SET @YerlesimID=100; 
DECLARE @Sorgu NVARCHAR(100) 
DECLARE @Kriter INT; 

IF @Kriter = 1 SET @Sorgu ='(UYBIl.YerlesimID = @YerlesimID)' 
ELSE IF @Kriter = 2 SET @Sorgu ='(UYBIlce.YerlesimID = @YerlesimID)' 

SELECT U.UyeID, U.UyeAdi,UYBIl.YerlesimAdi AS IlAdi, UYBIlce.YerlesimAdi AS IlceAdi 
FROM        Uye_Uyeler AS U INNER JOIN 
                      Geo_YerlesimBilgileri AS UYBIl ON U.IlID = UYBIl.YerlesimID INNER JOIN 
                      Geo_YerlesimBilgileri AS UYBIlce ON U.IlceID = UYBIlce.YerlesimID 
WHERE     '@Sorgu' ----------------->>> Buraya İf Else blogundaki koşulu buraya nasıl aktarabilirim? 

 
Gönderildi : 07/09/2014 02:04

(@eravse)
Gönderiler: 1753
Üye
 

Case when faydalı olabilir ama diğer bir seçenek de kriteri bir functiona gönderip if then else bloklarınızı o function üzerinde de daha geniş bir şekilde uygulayabilir @sorguyu buna göre döndürebilirsiniz.

 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 07/09/2014 16:37

(@caglarozenc)
Gönderiler: 247
Reputable Member
 

yazmaya çalıştığınız sorguyu aslında bir varchar(max) içerisine alıp dinamikleştirme ve en sonunda oluşan nesneyi execute edebilirsiniz ? 

 
Gönderildi : 09/09/2014 20:32

Paylaş: