sqlserver2005分页存储过程
Create proc [dbo].[sp_AbiTableLoad]
----------------------------------------------
-- 单表多表分页存储过程 --
-- 1.支持单表多表分页查询 --
-- 2.支持排序 --
-- 3.支持表名重命名 --
-- 4.返回总页数 --
-- 5.返回总记录数 --
-- 6.带行编号 --
-- 缺陷: --
-- 1.多表查询时,各表中各列名不许出现重名 --
-- Edit by Shardine 2007.1.19 --
----------------------------------------------
@strFields varchar(500), --字段名
@strTableName varchar(500), --表名
@strWhere varchar(500), --条件 无需加where
@strOrderBy varchar(200), --排序 必添 无需加order by
@PageSize int, --分页大小
@CurrentPage int, --当前页,1为起始页
@PageCount int output, --返回总页数
@RecordCount int output --返回记录总数
as
begin
declare @StartIndex int --定义起始位置
set @StartIndex = (@currentPage - 1) * @PageSize + 1
declare @strSql1 nvarchar (800) --数据查询
declare @strSql2 nvarchar (1000) --统计记录总数
declare @ParmDefinition nvarchar (800)
set @ParmDefinition = N'@tmp int output'
set @strSql1 = N'select row_number() over (order by ' + @strOrderBy + ' ) as RowID, '
set @strSql2 = 'select @tmp = count(*) '
if @strFields <> ''
set @strSql1 = @strSql1 + @strFields
else
set @strSql1 = @strSql1 + ' * '
if @strTableName <> ''
begin
set @strSql1 = @strSql1 + ' from ' + @strTableName
set @strSql2 = @strSql2 + ' from ' + @strTableName
end
if @strWhere <> ''
begin
set @strSql1 = @strSql1 + ' where ' + @strWhere
set @strSql2 = @strSql2 + ' where ' + @strWhere
end
exec sp_executesql @strSql2,@ParmDefinition,@tmp = @RecordCount output --执行统计记录总数SQL语句 if @RecordCount % @PageSize = 0 --计算总页数
set @PageCount = @RecordCount / @PageSize
else
set @PageCount = @RecordCount / @PageSize + 1
set @strSql1 = 'with TempTable as ( ' + @strSql1 + ' ) select * from TempTable where RowID between '
+ Convert(varchar(10),@StartIndex) + ' and ' + Convert(varchar(10),@StartIndex + @PageSize - 1)
exec(@strSql1)
end
sqlserver2005分页存储过程的更多相关文章
- 完整的分页存储过程以及c#调用方法
高效分页存储过程 USE [db] GO /****** 对象: StoredProcedure [dbo].[p_Page2005] 脚本日期: // :: ******/ SET ANSI_NUL ...
- 1、SQL可搜索可排序可分页存储过程, 2、范围内的随机时间 适用于sql 2008以上
-- ============================================= -- Author: 蜘蛛王 -- Create date: 2015-10-29 -- Descri ...
- SQL Server 2008 通用分页存储过程
1.alert USE [数据库名称] GO /****** Object: StoredProcedure [dbo].[dbTab_PagerHelper] Script Date: 08/22/ ...
- sql server 分页存储过程
----------------------分页存储过程------------------------------------------------------------------------ ...
- MYSQL分页存储过程及事务处理
最近给客户做的一小系统是SQLSERVER的数据库,因为特殊原因要切换到MYSQL上去,切换数据库确实让人头疼的,SQLSERVER和MYSQL的存储过程还是有很大差别的,下面是我做切换时转换的MYS ...
- SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)
SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅 ...
- C#调用SQL Server分页存储过程
以SQL Server2012提供的offset ..rows fetch next ..rows only为例 e.g. 表名:Tab1 ------------------------------ ...
- 简单的分页存储过程,Json格式日期转换为一般日期
简单的分页存储过程 CREATE PROC Paged @pageIndex INT, @pageCount INT OUTPUT, @pageSize INT AS DECLARE @count I ...
- SQL - 分页存储过程
http://www.jb51.net/article/71193.htm http://www.webdiyer.com/utils/spgenerator/ create PROCEDURE [d ...
随机推荐
- 2019-8-31-dotnet-非泛型-类型-System.Collections.IEnumerable-不能与类型实参一起使用
title author date CreateTime categories dotnet 非泛型 类型 System.Collections.IEnumerable 不能与类型实参一起使用 lin ...
- 【笔记篇】斜率优化dp(一) HNOI2008玩具装箱
斜率优化dp 本来想直接肝这玩意的结果还是被忽悠着做了两道数论 现在整天浑浑噩噩无心学习甚至都不是太想颓废是不是药丸的表现 各位要知道我就是故意要打删除线并不是因为排版错乱 反正就是一个del标签嘛并 ...
- arc098E Range Minimum Queries
题意:给你一个n个数的数组,每次能够选取连续的长度为K的子序列,取出其中任意一个最小元素. 一共操作Q次.问取出的元素中Max-Min最小是多少? 标程: #include<bits/stdc+ ...
- Last_SQL_Error: Error 'Can't drop database
此文办法只用应急, 别的办法我还没想到, 文章是Copy来的 MySQL主从同步报错排错结果及修复过程之:Slave_SQL_Running: No 起因调查: 收到大量邮件报警想必事出有因,就问同 ...
- JS函数进阶
函数的定义方式 函数声明 函数表达式 new Function 函数声明 function foo () { } 函数表达式 var foo = function () { } 函数声明与函数 ...
- [转]MySQL InnoDB引擎索引长度受限怎么办
mysql> CREATE TABLE `tb` (-> `a` varchar(255) DEFAULT NULL,-> `b` varchar(255) DEFAULT NULL ...
- java反射快速入门
笔记记在了掘金,发现掘金的markdown编辑器比博客园样式要好看不少 https://juejin.im/post/5d4e575af265da03e4674e9f
- 线性dp——cf1096D
dp[i][j]表示到第i位,与hard的匹配状态到达了第j位 每位有两种决策:消或者不消 分别转移一下即可 转移代码 ;i<n;++i) ;j<=;++j) { cmin(f[i+][j ...
- Visual Studio 2010 error C2065: '_In_opt_z_' : undeclared identifier 编译错误
当用Visual Studio 2010 编译时 发生如下编译错误: 2>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\inclu ...
- Docker系列(三):Docker自定义容器镜像
将容器编程镜像: docker commit [repo:tag] 网上有这句话:当我们在制作自己的镜像的时候,会在container中安装一些工具.修改配置,如果不做commit保存 起来,那么co ...