CREATE PROCEDURE sp_1 @name varchar(200),@addr varchar(200),@tel varchar(200)
AS
select * from t
 where (@name is null or name=@name)
   and (@addr is null or addr=@addr)
   and (@tel is null or tel=@tel)
go

解决方案 »

  1.   

    CREATE PROCEDURE sp_1 @name varchar(200),@addr varchar(200),@tel varchar(200)
    AS
    select * from t
     where (@name is null or name like'%@name%')
       and (@addr is null or addr like'%@addr%')
       and (@tel is null or tel like'%@tel%')
    go
      

  2.   

    create procedure proc
    @name varchar(16),@address varchar(16),@tel varchar(16)
    as
    select @name=isnull(@name,''),@address=isnull(@address,''),@tel=isnull(@tel,'')select * from table where name like @name and address like @address and tel like @tel