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

其他种方式:offset fetch next方式(SQL2012以上的版本才支持:推荐使用 )

select * from ArtistModels  order by ArtistId offset 4 rows fetch next 5 rows only
                  --order by ArtistId offset 页数 rows fetch next 条数 rows only ----

执行结果是:

SQL 存储过程 分页查询的更多相关文章

  1. SQL Server 存储过程 分页查询

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  2. SQL存储过程分页(通用的拼接SQL语句思路实现)

    多表通用的SQL存储过程分页 案例一: USE [Community] GO /****** Object: StoredProcedure [dbo].[Common_PageList] Scrip ...

  3. SQL 数据分页查询

    最近学习了一下SQL的分页查询,总结了以下几种方法. 首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图: 现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据.(数据太少,就每页5 ...

  4. [.NET] SQL数据分页查询

    [.NET] SQL数据分页查询 程序下载 范例下载:点此下载 原始码下载:点此下载 NuGet封装:点此下载 数据查询 开发系统时,使用C#执行SQL查询指令,就可以从SQL数据库里查询所需数据. ...

  5. Oracle/MySql/SQL Sqlserver分页查询

    简述 简单概括一下Oracle,MySql,SQL Sqlserver这三个数据库的分页查询语句. Oracle分页查询 例:每页显示两条数据,现在要查询第二页,也就是第3-4条数据. 查询语句: s ...

  6. SQL Server分页查询方法整理

    SQL Server数据库分页查询一直是SQL Server的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页 ...

  7. SQLsever存储过程分页查询

    使用存储过程实现分页查询,SQL语句如下: USE [DatebaseName] --数据库名 GO /****** Object: StoredProcedure [dbo].[Pagination ...

  8. SQL SERVER 分页查询

    Sqlserver数据库分页查询一直是Sqlserver的短板. 但现在不是了. 自从有了它. 一口气上十楼. 官方语法说明示例: https://technet.microsoft.com/zh-c ...

  9. SQL Server分页查询进化史

    分页查询一直SQL Server的一个硬伤,就是是经过一些进化,比起MySql的limit还是有一些差距. 一.条件过滤(适应用所有版本) 条件过滤的方法有很多,而思路就是利用集合的差集选择出目标集合 ...

随机推荐

  1. RHEL6.5 换源

    由于redhat的yum在线更新要收费,即没有注册的无法使用:将redhat的yum卸载.重装第三方源. 第三方源包括:网易,重庆大学,epel 等Author wood_man.2015.10.2 ...

  2. iOS Developer Library地址

    1. iOS Developer Library路径:https://developer.apple.com/library/ios/navigation/ 2. 百度搜索:iOS Developer ...

  3. SVN迁项目

    next -> 做为新项目检出,finish -> next -> finish -> 否,是

  4. 数据库触发器inserted和deleted详解

    create trigger updateDeleteTime on user for update as begin   update user set UpdateTime=(getdate()) ...

  5. android service两种启动方式

    android service的启动方式有以下两种: 1.Context.startService()方式启动,生命周期如下所示,启动时,startService->onCreate()-> ...

  6. 前端forEach在Array、map、set中的使用

    数组: var s = ['a','b','c']; s.forEach(function(ele,index,array){ console.log(ele); }); Map: var map = ...

  7. 「JavaScript」四种跨域方式详解

    超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSON ...

  8. 纯html、css3、js的时钟

    之前在网上看了一些使用js写的时钟,但感觉实现的方法有点麻烦,所以就自己重新写了一个例子,样子有点丑,但方法比较简单,大家就凑合看吧 其中采用的主要方法是原生js里面的Data(时期)对象,以及它的. ...

  9. Java中String、StringBuffer、StringBuilder区别与理解

    一.先比较String.StringBuffer.StringBuilder变量的HashCode值 使用System.out.println(obj.hashcode())输出的时对象的哈希码, 而 ...

  10. Mvc4中使用Spring.Net实现IOC和DI

    一个Hello类,一个IHello接口 1.引用dll 2.修改Global文件 (SpringMvcApplication) 3.控制器添加属性 4.WebConfig配置 5.Spring.xml ...