Geçenlerde yazdığım bir proje için sql stored procedure’lerde bazı parametreleri opsiyonel olarak kullanmam gerekiyordu. Ufak bir araştırma sonucunda bunun yapılabildiğini gördüm. Sorunu giderdikten sonra çözümü sizlerle de paylaşmak istedim.
create procedure dbo.spGetEmployees
@employeeID int = null,
@firstName varchar(255) = null,
@lastName varchar(255) = null as
select * from dbo.employees where (id = @employeeID or @employeeID is null) and (firstName = @firstName or @firstName is null) and (lastName = @lastName or @lastName is null)
Gördüğünüz gibi bu kadar basit :) parametreleri declare ederken null’a eşitleyip where koşulunda da örnekteki gibi yazarsanız sorgunuz parametrelerin null olup olmadığına bakarak farklı where koşulları çalıştıracaktır. Özellikle raporlama,arama gibi birden fazla kriter gerektiren durumlarda kullanılabilir.









0 yorum:
Yorum Gönder