select * from employee where Name=
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '='.
=======================================stored procedure======================================
alter proc SearchEmployee '','','',''
@Name varchar(50)=null,
@Age int=null,
@Gender varchar(50)=null,
@Email varchar(50)=null
as
begin
declare @sql varchar(max),@sqlwhere varchar(max)
set @sqlwhere='';
set @sql='select * from employee'
if ((@Name is not null) or @Name <> '')
begin
set @sqlwhere=' Name='+ @Name
end
else if ((@Age is not null) or @Age <> '')
begin
set @sqlwhere='and Age='+ cast(@Age as varchar(50))
end
else if ((@Email is not null) or @Email <> '')
begin
set @sqlwhere=' and email='+ @Email
end
else if ((@Gender is not null) or @Gender <> '')
begin
set @sqlwhere=' and Gender='+ @Gender
end
if (@sqlwhere <> '')
begin
set @sql=@sql+' where ' + @sqlwhere;
end
else
begin
set @sql=@sql;
end
print @sql
exec (@sql)
end
employee table
Name Age Gender email
anurag 24 Male anu@gmail.com
abhi 22 Male abhi@gmail.com
ruchi 23 Female ruchi@gmail.com
siba 24 Male siba@gmail.com
mukua 24 Male mukua@gmail.com
prachi 24 Female prachi@gmail.com
preeti 24 Female preeti@gmail.com
SearchEmployee '','','',''
this should give me all the result.
SearchEmployee '','24','',''
----------------as suggested i changed from or to and and tried again-----------
SearchEmployee '','','','' --this gave me all the result
but when i tried the below
SearchEmployee 'anurag','','',''
i got error
select * from employee where Name=anurag
Msg 207, Level 16, State 1, Line 1
Invalid column name 'anurag'.