sql2005 存储过程分页示例代码

时间:2024-01-13 03:09:06 


--分页存储过程示例
Alter PROCEDURE [dbo].[JH_PageDemo]
@pageSize int = 9000000000,
@pageIndex int = 1 ,
@orderBy Nvarchar(200) = '' -- 不加order By
AS
SET NOCOUNT ON
--声明变量
DECLARE @select VARCHAR(3048);
DECLARE @from VARCHAR(512);
DECLARE @RowNumber VARCHAR(256);
DECLARE @condition nVARCHAR(3990);
DECLARE @groupBy varchar(50);
DECLARE @sql VARCHAR(3998);
DECLARE @RowStartIndex INT;
DECLARE @RowEndIndex INT;
BEGIN
SET NOCOUNT on
IF @orderBy <> ''
Set @orderBy = ' ORDER BY ' + @orderBy;
else
Set @orderBy = ' ORDER BY Userid ' ;
SET @select = ' select userid,username ,';
--设置排序语句
SET @RowNumber ='ROW_NUMBER() OVER (' + @orderBy + ' ) as RowNumber ';
SET @select = @select + @RowNumber;
SET @from = ' FROM users ';
--设置条件语句@GULevel
SET @condition = ' WHERE 1=1 ';
SET @condition = @condition + 'AND userid > 0';
--分组语句
SET @groupBy = ' GROUP BY USerID '
SET @RowStartIndex = ( @pageIndex -1) * @pageSize + 1
SET @RowEndIndex = @pageIndex * @pageSize ;
--查询结果
SET @sql = 'SET NOCOUNT ON;
WITH ResultTable AS ( ' + @select + @from + @condition +')
SELECT * FROM ResultTable WHERE RowNumber between ' +
Cast(@RowStartIndex AS VARCHAR(32)) + ' AND ' + CAST(@RowEndIndex AS VARCHAR(32))
+ ' ; SELECT count(*) as totalcount ' + @from + @condition + ' '

--PRINT @sql;
EXEC(@sql);
END
标签:存储过程,分页示例
0
投稿

猜你喜欢

  • python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例

    2022-06-05 14:11:58
  • Python数据分析Numpy中常用相关性函数

    2022-03-26 08:25:34
  • SQL 实现某时间段的统计业务

    2024-01-24 11:41:03
  • C#实现的ACCESS数据库操作类完整实例

    2024-01-20 02:57:36
  • Python Pyecharts绘制箱线图详解

    2021-03-31 05:57:05
  • SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)

    2024-01-23 14:19:39
  • 浅析PEP572: 海象运算符

    2023-06-28 10:56:10
  • YOLOv8训练自己的数据集(详细教程)

    2021-07-12 20:59:18
  • 详解使用Vue Router导航钩子与Vuex来实现后退状态保存

    2024-05-05 09:24:27
  • Vue3-KeepAlive,多个页面使用keepalive方式

    2024-05-02 16:33:39
  • PyQt5 matplotlib画图不刷新的解决方案

    2021-06-14 14:43:39
  • PHP中使用addslashes函数转义的安全性原理分析

    2023-08-16 10:31:22
  • Python实现双向链表

    2022-06-12 17:41:34
  • 简单介绍Python中的floor()方法

    2023-06-08 03:36:21
  • vue表单数据交互提交演示教程

    2024-04-10 13:48:08
  • Java访问数据库实例详解

    2024-01-23 00:12:20
  • Python中字符串类型代码的执行函数——eval()、exec()和compile()详解

    2022-07-08 09:14:12
  • 在vue中使用防抖和节流,防止重复点击或重复上拉加载实例

    2024-05-22 10:28:01
  • 深入理解Python3 内置函数大全

    2022-06-27 22:11:36
  • 华为2019校招笔试题之处理字符串(python版)

    2023-09-29 19:42:04
  • asp之家 网络编程 m.aspxhome.com