create procedure pro_stu( @pageIndex int,--页码 @pageSize int,--页面大小 @column nvarchar(128),--列名 @TableName nvarchar(128)--表名 ) as declare @startRow int, @endRow int ,@sqlstr nvarchar(max) set @startRow = (@pageIndex - 1) * @pageSize +1 set @endRow = @startRow + @pageSize -1 set @sqlstr='select * from ( select *, row_number() over (order by '+@column+' asc) as number from' + @tablename +') as t where t.number between'+ Cast(@startRow as varchar(10)) +'and'+ Cast(@endRow as varchar(10)) print @sqlstr exec (@sqlstr) 试试这个
@pageIndex int,--页码
@pageSize int,--页面大小
@column nvarchar(128),--列名
@TableName nvarchar(128)--表名
)
as
declare @startRow int, @endRow int ,@sqlstr nvarchar(max)
set @startRow = (@pageIndex - 1) * @pageSize +1
set @endRow = @startRow + @pageSize -1
set @sqlstr='select * from (
select *, row_number() over (order by '+@column+' asc) as number from' + @tablename
+') as t
where t.number between'+ Cast(@startRow as varchar(10)) +'and'+ Cast(@endRow as varchar(10))
print @sqlstr
exec (@sqlstr)
试试这个
这个是为了查询 执行的 语句的。调试用比较方面。