• SQL 存储过程 数据分页源代码


    存储过程源代码:

     1 USE [AdventureWorks2008R2]
     2 GO
     3 
     4 /****** Object:  StoredProcedure [dbo].[proc_pageData]    Script Date: 12/12/2012 17:15:37 ******/
     5 SET ANSI_NULLS ON --ON时 比较运算符遵从 SQL-92 标准。SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE。
     6 GO
     7 
     8 SET QUOTED_IDENTIFIER ON --ON时 标识符可以由双引号分隔,
     9 GO
    10 
    11 create proc [dbo].[proc_pageData]
    12 @pageIndex int, --表示当前页码值
    13 @pageSize int, --表示每页显示的记录数
    14 @pageCount int output, --总页数,输出参数
    15 @rowCount int output --总记录数,输出
    16 as
    17 begin
    18 select @rowCount=COUNT(*) from Person.Address --得到总记录数
    19 select @pageCount=ceiling(@rowCount/@pageSize) --得到总页数
    20 --ceiling() 进一位取整,例ceiling(3.2) 得到
    21 --开始分页
    22 select *from
    23 (select ROW_NUMBER() over(order by AddressID) as num,*from Person.Address)  
    24  as Tab_tmp 
    25 where
    26 num>(@pageIndex-1)*@pageSize and num<=@pageIndex*@pageSize
    27 end 
    28 
    29 
    30 --最简单的分页
    31  
    32 ----分页 每页5条记录,显示第4页(第16-20条记录)
    33 --select top 5 * from  Person.Address
    34 --where AddressID not in
    35 --(
    36 --select top 15 AddressID from Person.Address order by AddressID
    37 --)
    38 --order by Person.Address.AddressID
    39 
    40 GO

    调用存储过程。不知为什么调用时存储过程名老有红色波浪线,提示过程找不到,但可以执行。

    1 DECLARE @PageCount INT ; --总页数
    2 DECLARE @RowCount INT ;   --总记录数
    3 EXEC  dbo.proc_pageData 2,5, @PageCount OUT ,@RowCount OUT 
    4 
    5 --SELECT @PageCount AS a,@RowCount AS b

    输出结果:

  • 相关阅读:
    正则表达式简介
    PHP中简单的页面缓冲技术
    PHP 程序加速探索
    PHP中通过Web执行C/C++应用程序
    PHP实现聊天室的主动更新与被动更新
    php中Cookie及其使用
    Linux 下 PHP 连接 MS SQLServer 的办法
    网站加速 PHP 缓冲的免费实现方法
    Spark Streaming中的基本操作函数实例
    Scala中的s函数
  • 原文地址:https://www.cnblogs.com/net515/p/2815085.html
Copyright © 2020-2023  润新知