CREATE PROCEDURE pageTest --用于翻页的测试
--需要把排序字段放在第一列

(
@FirstID nvarchar(20)=null, --当前页面里的第一条记录的排序字段的值
@LastID nvarchar(20)=null, --当前页面里的最后一条记录的排序字段的值
@isNext bit=null, --true 1 :下一页;false 0:上一页
@allCount int output, --返回总记录数
@pageSize int output, --返回一页的记录数
@CurPage int --页号(第几页)0:第一页;-1最后一页。
)

AS

if @CurPage=0--表示第一页
begin
--统计总记录数
select @allCount=count(ProductId) from Product_test

set @pageSize=10
--返回第一页的数据
select top 10
ProductId,
ProductName,
Introduction
from Product_test order by ProductId
end

else if @CurPage=-1--表示最后一页

select * from
(select top 10 ProductId,
ProductName,
Introduction

from Product_test order by ProductId desc ) as aa
order by ProductId
else

begin
if @isNext=1
--翻到下一页
select top 10 ProductId,
ProductName,
Introduction
from Product_test where ProductId > @LastID order by ProductId
else
--翻到上一页
select * from
(select top 10 ProductId,
ProductName,
Introduction
from Product_test where ProductId < @FirstID order by ProductId desc) as bb order by ProductId
end

转载于:https://www.cnblogs.com/weijianxing/p/7197186.html

用存储过程创建的分页相关推荐

  1. oracle接收输入参数,Oracle带输入输出参数存储过程(包括sql分页功能)

    记录一下,免得以后忘记了又要到处去找. begin /*这里不能直接执行select语句但可以直接执行update.delete.insert语句*/ end里面不能接执行select语句,声明会话级 ...

  2. 用存储过程实现数据分页

    参考:http://blog.csdn.net/wellknow/archive/2004/07/29/55167.aspx 用的是NOT IN 的方法 /**//****************** ...

  3. MySQL 学习笔记(6)— 存储过程创建、调用、删除以及带参数的存储过程

    1. 存储过程总结 存储过程是一种存储在数据库中的程序.它可以包含多个 SQL 语句,并提供许多过程语言的功能,例如变量定义.条件控制语句.循环语句.游标以及异常处理等. 1.1 存储过程优点 实现代 ...

  4. 利用存储过程来实现分页性能比较

    利用存储过程来实现分页性能比较 1.生成表 CREATE TABLE [T_User] ( [Id] [bigint] IDENTITY (1, 1) NOT NULL , [Name] [nvarc ...

  5. oracle存储过程建分区表,oracle存储过程创建表分区实例

    用存储过程创建数据表: 创建时注意必须添加authid current_user,如果创建的表已存在,存储过程继续执行,但如不不加此关键语句,存储过程将出现异常, 这个语句相当于赋权限. 例1 创建语 ...

  6. 客户端如何通过咏南中间件调用存储过程和数据分页查询和文件传输的演示

    客户端如何通过咏南中间件调用存储过程和数据分页查询和文件传输的演示 演示使用MSSQL 2000的存储过程,其它类型的数据库的存储过程的语法是有所不同的. 1)MSSQL2000通用数据分页存储过程, ...

  7. mysql 存储过程创建以及调用

    mysql创建存储过程详解 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据 ...

  8. 存储过程创建(过程、视图、函数)

    存储过程.视图.函数创建 1存储过程创建 2视图创建 3函数创建 1存储过程创建 //if进行判断过程名是否存在 存在删除 if exists (select * from dbo.sysobject ...

  9. mysql 存储过程建表_MySQL 存储过程创建表

    创建 CREATE PROCEDURE  Pro_IsExistTable(ableName varchar(100),out outputParam int) BEGIN set @csql=con ...

最新文章

  1. android里面画布快照,自定义 View - Canvas - 画布操作和快照
  2. php cli 判断,php cli 命令行详解【转】
  3. linux内核分析与移植,内核分析移植
  4. 关于键盘事件中keyCode、which和charCode 的兼容性测试
  5. vi编辑器的学习使用(二十)
  6. POJ 3107 - Godfather
  7. 【数论】蓝桥2018:第几个幸运数
  8. BGP多出口多宿主实验
  9. 编写可维护的 JavaScript
  10. Linux内核 失速(STALL) 警告说明文档翻译
  11. [SSM框架]—Spring入门
  12. 代码分享 | EEG数据的等效偶极子源定位
  13. 【RPG Maker MV】使用技巧1:用自己绘制的图片当做地图
  14. python脚本模式_python脚本怎么执行
  15. 曾经我们并肩作战,敬未来一杯,敬资本一杯
  16. Herobuy转运隐私政策
  17. 19年深圳杯D题之爬取微博粉丝基本信息
  18. 联名梅赛德斯-AMG F1车队,Redmi K50电竞版首发
  19. 两个必看协议-最全面-最直接-最暴力-一篇文章带你读懂-HTTP、HTTPS
  20. 进化计算之遗传算法的简单介绍

热门文章

  1. 苹果推出开源医学研究框架ResearchKit
  2. iPhone上将短信内容发送到指定邮箱的方法
  3. exchange 2007 碰到NDR
  4. 《Angular4从入门到实战》学习笔记
  5. 【HashMap 嵌套 ArrayList】
  6. C# IEnumerable和IEnumerator的区别,如何实现
  7. 20170523xlVBA多条件分类求和一例
  8. python 使用set对list去重,并保持list原来顺序
  9. 一步一步学习hadoop(七)
  10. 实例教程一:电话拨号器