您的位置:首页 > 数据库

简单的SQL存储过程分页

2017-06-12 18:03 357 查看
USE [testActice]
GO
/****** Object:  StoredProcedure [dbo].[getpagelist]    Script Date: 06/12/2017 17:44:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[getpagelist]
@pageindex int, --页码
@pagesize int,--每一页显示的数目
@table varchar(150),--表名
@sort varchar(50)--排序

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @sql nvarchar(MAX)
declare @count nvarchar(MAX)
set @sql='select top '+ cast(@pagesize as varchar(10))+ ' * from '+@table+ ' where('+@sort+' NOT IN(select top '+cast((@pageindex-1)*@pagesize as varchar(30))+' '+@sort+' from '+@table+' order by '+@sort+' )) order by '+@sort;
set @count='select count(*) as count from mytable'
exec sp_executesql @sql
exec sp_executesql @count output
END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  存储 sql 分页