Forum
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?
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
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 ?