How to handle optional parameters for sps?

Create procedure dbo.SearchEmployee
(
@Employeename varchar(20),
@EmployeeDesig varchar(20),
@EmployeeLocation varchar(20),
@EmployeeInterest varchar(20)
)
as
begin
set nocount on
set @EmployeeName = '%' + @EmployeeName + '%'
set @EmployeeDesig = '%' + @EmployeeDesig + '%'
set @EmployeeLocation = '%' + @EmployeeLocation + '%'
set @EmployeeInterest = '%' + @EmployeeInterest + '%'

SELECT EmployeeName from EmployeeMaster (nolock)
WHERE
(nullif(@EmployeeName, '') is null or EmployeeName like @EmployeeName)
and
(nullif(@EmployeeDesig, '') is null or EmployeeDesignation like @EmployeeDesig)
and
(nullif(@EmployeeLocation, '') is null or EmployeeLocation like @EmployeeLocation)
and
(nullif(@EmployeeInterest, '') is null or EmployeeInterest like @EmployeeInterest)
set nocount off
end
go

seaching on name and interests
exec SearchEmployee 'shriram', null, null, 'SQL'

searching on interests
exec SearchEmployee null, null, null, 'SQL'

searching on name, location and interests
exec SearchEmployee 'shriram', null, 'india', 'SQL'

In this way a single SP can be used for multiple calls with different parameters

Comments

Popular posts from this blog

IBM FileNet: Bulk Processing using JavaScript

DB2 Date Time Functions

File Net Insert Document