CREATE procedure dbo.select_a 
    @b varchar(50), 
    @c varchar(50), 
    @d varchar(50), 
    @e varchar(50) 
as 
declare @strsql varchar(5000) ; 
set @strsql="select * from a where 1=1  "; 
if @b <>""  
set @strsql= @strsql+" and b=""+@b +"""; 
if @c <>""  
set @strsql= @strsql+" and c=""+@c +"""; 
if @d <>""  
set @strsql= @strsql+" and d=""+@d  +"""; 
if @e <>""  
set @strsql= @strsql+" and  e=""+@e +"""; 
exec (@strsql) 
GO