>create procedure MySP ( @customerId varchar(10) = NULL, @employeeID int = NULL ) >as >begin > select * from Orders > where > CustomerID = case when @customerId is null then CustomerID else @CustomerID end > and EmployeeID = case when @employeeID is null then employeeID else @employeeID end >end>
>Exec MySP >Exec MySP 'BONAP' >Exec MySP 'BONAP',4 >Exec MySP null,4 >>
select * from Orders where (@CustomerID IS NULL or CustomerIID = @CustomerID) and (@EmployeeID IS NULL or EmployeeID = @EmployeeID)Alternative solution
select * from Orders where CustomerIID = ISNULL(@CustomerID,CustomerID and EmployeeID = ISNULL(@EmployeeID, EmployeeID)