一个小的存储过程的参数问题
写个存储过程,参数若干个,就是根据传递的参数进行查询。 
 参数不一,可能为空。 
 在存储过程里拼字符串?怎样解决。 
 谁给个小例子参照参照。 
------解决方案--------------------最好这样写   
 create proc sp_Query 
 @Name varchar(30)=null, 
 @Address varchar(50)=null, 
 @Tel varchar(20)=null, 
 @EMail varchar(20)=null 
 as   
 declare @sql varchar(8000) 
 set @sql= 'select * from Employee where  ' 
 if @Name is not null 
     set @sql=@sql+ ' name like  ' ' '+@Name+ '% ' '   and  ' 
 if @Address is not null 
     set @sql=@sql+ ' Address like  ' ' '+@Address+ '% ' '   and  ' 
 if @Tel is not null 
     set @sql=@sql+ ' Tel like  ' ' '+@Tel+ '% ' '   and  ' 
 if @EMail is not null 
     set @sql=@sql+ ' EMail like  ' ' '+@EMail+ '% ' '   and  '   
 set @sql=left(@sql,len(@sql)-6)   
 exec(@sql)   
 go     
 --可以这样调用 
 exec sp_Query            --查询所有 
 go   
 exec sp_Query  '张三 '           --查询一个人 
 go   
 exec sp_Query  '张 ', '北京 '           --查询北京姓张的 
 go   
 exec sp_Query @Name= '张 ',@Email= 'Zhang '           --查询姓张、email Zhang开头的 
 go     
 --等等