CREATE PROCEDURE ss
@PageSize varchar(100)
 AS
select * from Employees    -这里问题
GO
我把判断条件作为参数传递 @PageSize 例如:id=3
但语句 
select * from Employees where @pagesize  之类的写法都通不过,应该怎么写?

解决方案 »

  1.   

    CREATE PROCEDURE ss
    @PageSize varchar(100)
    AS
    declare @sql varchar(4000)
    set @sql = 'select * from Employees where ' + @PageSize
    EXEC(@sql)
    GO
      

  2.   

    CREATE PROCEDURE ss(@PageSize varchar(100))
    AS
        exec('select * from Employees where '+@pagesize)
    go
      

  3.   

    create proc sptest
      @sql varchar(8000)
    as
    begin
      exec ('select * from syslogdate where' + @sql)
    end
    goexec sptest ' UserNO=''hlt0003'''drop proc sptest