2个 参数问题是这样的 如果参数为空的话 那么就是选择全部 不为空 就是值相等
我写了不为空的 如果是空的 要任何写 谢谢
CREATE PROCEDURE dbo.sp_getclientbyparm 
@name varchar(100),
@code varchar(50)
 AS
select name as '用户名称',code as '代码',rate as '时间费用' from client where name=@name and code=@code order by clientid
GO

解决方案 »

  1.   

    alter PROCEDURE dbo.sp_getclientbyparm 
     @name varchar(100)='',
     @code varchar(50)=''
    ASif(@name='' and @code='')
     select name as '用户名称',code as '代码',rate as '时间费用' from client 
    else
     select name as '用户名称',code as '代码',rate as '时间费用' from client where name=@name and code=@code order by clientid
    GO??
      

  2.   

    CREATE PROCEDURE dbo.sp_getclientbyparm 
    @name varchar(100),
    @code varchar(50)
     AS
    if isnull(@name,)!='' and isnull(@code,'')!=''
    select name as '用户名称',code as '代码',rate as '时间费用' from client where name=@name and code=@code order by clientid
    else
    select name as '用户名称',code as '代码',rate as '时间费用' from client 
    GO
      

  3.   

    CREATE PROCEDURE dbo.sp_getclientbyparm 
    @name varchar(100),
    @code varchar(50)
    AS
        select 
            name as '用户名称',
            code as '代码',
            rate as '时间费用' 
        from 
            client 
        where 
            name=isnull(@name,name)
            and 
            code=isnull(@code,code) 
        order by 
            clientid
    GO
      

  4.   

    to :libin_ftsafe(子陌红尘)
    我原来也是这样写的
    但是测试的时候
     dbo.sp_getclientbyparm '',''
    不行