视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
分页存储过程(用存储过程实现数据库的分页代码)
2020-11-09 07:12:15 责编:小采
文档


代码如下:
--*******************************************************
--* 分页存储过程 *
--* 撒哈拉大森林 *
--* 2010-6-28 *
--*******************************************************

if exists(select * from sysobjects where type='P' and name=N'P_Paging')
drop procedure P_Paging
go

create procedure P_Paging
@SqlStr nvarchar(4000), --查询字符串
@CurrentPage int, --第N页
@PageSize int --每页行数
as
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@SqlStr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@PageSize) as 总页数--,@rowcount as 总行数,@CurrentPage as 当前页
set @CurrentPage=(@CurrentPage-1)*@PageSize+1
exec sp_cursorfetch @P1,16,@CurrentPage,@PageSize
exec sp_cursorclose @P1
set nocount off
go


----创建测试表
--if exists(select * from sysobjects where type='U' and name=N'Test_Students')
-- drop table Test_Students
--go
--create table Test_Students(
-- id int IDENTITY(1,1) not null,
-- name nvarchar(100) not null
--)
--
----创建测试数据
--declare @i int
--set @i = 100000
--while @i>0
-- begin
-- insert into Test_Students values('姓名')
-- set @i = @i - 1
-- end
--
----执行存储过程
--exec P_Paging 'select * from Test_Students order by id',100,100 --执行
--
----删除测试表
--if exists(select * from sysobjects where type='U' and name=N'Test_Students')
-- drop table Test_Students
--go

您可能感兴趣的文章:

  • sqlserver数据库使用存储过程和dbmail实现定时发送邮件
  • 用存储过程向数据库存值的具体实现
  • MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
  • sqlSQL数据库怎么批量为存储过程/函数授权呢?
  • mysql 导入导出数据库以及函数、存储过程的介绍
  • Oracle中 关于数据库存储过程和存储函数的使用
  • sql处理数据库锁的存储过程分享
  • SQL Server中通过扩展存储过程实现数据库的远程备份与恢复
  • MSSQL MySQL 数据库分页(存储过程)
  • 从创建数据库到存储过程与用户自定义函数的小感
  • SQLserver 数据库危险存储过程删除与恢复方法
  • sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】
  • mysql 查询数据库中的存储过程与函数的语句
  • 为数据库生成某个字段充填随机数的存储过程
  • sql 判断数据库,表,存储过程等是否存在的代码
  • Oracle存储过程之数据库中获取数据实例
  • sqlserver 复制表 复制数据库存储过程的方法
  • 积分获取和消费的存储过程学习示例
  • 下载本文
    显示全文
    专题