zoukankan      html  css  js  c++  java
  • 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

    输出结果:

  • 相关阅读:
    页面自动化
    phantomjs 开发爬虫框架
    javascript 正则表达式
    javascript/TypeScript 生成GUID
    Plupload 上传控件使用指南
    文件上传详解 (HTML FILE)
    Bootstrap File Input 中文文档
    找个地记录和分享工作上的点滴
    最短路 + 记录路径 之 zoj 1456 Minimum Transport Cost (hdu 1385)
    求解单源最短路问题:Bellman-Ford算法(可判负权回路)详解 之 poj 3268 Silver Cow Party
  • 原文地址:https://www.cnblogs.com/net515/p/2815085.html
Copyright © 2011-2022 走看看