您的位置:首页 > 数据库

SQL 存储过程 分页查询

2016-10-11 17:19 375 查看
ALTER PROCEDURE [dbo].[gzProc_TablePage]
@tablename varchar(MAX),--表名
@selcolumn varchar(MAX),--查询字段
@where varchar(MAX),--where条件
@sortcolumn varchar(MAX),--排序字段
@pagecount int,--每页记录数
@pageindex int--页号
AS
BEGIN
/***************************************************
-- 功能:分页查询
-- 作者:GarsonZhang
-- 时间:2016年3月21日10:19:07
-- 备注:
-- 测试:
***************************************************/
declare @beginrow int
declare @endrow int

set @beginrow=0
set @endrow=0

set @beginrow=(@pageindex-1)*@pagecount+1
set @endrow=@pageindex*@pagecount

declare @sqlstr VARCHAR(MAX)

set @sqlstr='with table1 as(select '+ @selcolumn +',ROW_NUMBER() OVER(ORDER BY '+ @sortcolumn+' ) AS ROW'+
' FROM '+@tablename+' WHERE '+@where+') '+' SELECT '+@selcolumn+' FROM TABLE1 WHERE ROW BETWEEN '+cast(@beginrow as nvarchar )+' and '+cast(@endrow as nvarchar)

PRINT @sqlstr

--set @sqlstr=@sqlstr +' SELECT '+ @selcolumn +' FROM TABLE1 WHERE ROW BETWEEN '+cast(@beginrow as nvarchar )+' and '+cast(@endrow as nvarchar)
--set @sqlstr=@sqlstr +' SELECT '+@selcolumn+' FROM TABLE1 WHERE ROW BETWEEN '+cast(@beginrow as nvarchar )+' and '+cast(@endrow as nvarchar)

--PRINT @sqlstr
exec(@sqlstr)
END


SELECT
[Extent1].[RoleId] AS [RoleId],
[Extent1].[OrganizeId] AS [OrganizeId],
[Extent1].[Category] AS [Category],
[Extent1].[EnCode] AS [EnCode],
[Extent1].[FullName] AS [FullName],
[Extent1].[IsPublic] AS [IsPublic],
[Extent1].[OverdueTime] AS [OverdueTime],
[Extent1].[SortCode] AS [SortCode],
[Extent1].[DeleteMark] AS [DeleteMark],
[Extent1].[EnabledMark] AS [EnabledMark],
[Extent1].[Description] AS [Description],
[Extent1].[CreateDate] AS [CreateDate],
[Extent1].[CreateUserId] AS [CreateUserId],
[Extent1].[CreateUserName] AS [CreateUserName],
[Extent1].[ModifyDate] AS [ModifyDate],
[Extent1].[ModifyUserId] AS [ModifyUserId],
[Extent1].[ModifyUserName] AS [ModifyUserName]
FROM [dbo].[Base_Role] AS [Extent1]
WHERE 3 = [Extent1].[Category]
ORDER BY [Extent1].[CreateDate] DESC
OFFSET 0 ROWS FETCH NEXT 30 ROWS ONLY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: