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

最新文章

  1. WCF学习之旅—WCF中传统的异常处理(十六)
  2. uva 1599 ideal path(好题)——yhx
  3. 基于XML配置的spring aop增强配置和使用
  4. crawler4j 学习(二)
  5. jQuery中的Ajax几种请求方式
  6. python练习题代码
  7. Windows server 2008 r2搭建FTP服务器
  8. try catch语句在VC下的处理
  9. 跟我学android-Android应用结构分析(四)
  10. 安卓,通过本地应用分享到微信、facebook等
  11. 转载Eclipse中Maven WEB工程tomcat项目添加调试
  12. 分享3一个博客HTML5模板
  13. 【STM32H7教程】第2章 STM32H7的开发环境搭建
  14. poj-1807(最大流)
  15. js-clickNumCount.html
  16. python 缺少module
  17. wget 网站扒取
  18. MySql NDB cluster replication配置
  19. Linux 工具,一本好书 大牛的博客
  20. VMWARE安装centos6 http://www.centoscn.com/image-text/setup/2013/0816/1263.html

热门文章

  1. 关于VSCode的一些常用插件和一些常用设置
  2. 用多线程发送邮箱(一次给一个用户发送N封邮件)
  3. 关于用Linux桌面版当工作系统这件事
  4. vc面试题目
  5. boost multi_index 插入返回值
  6. redis随记
  7. vue(1) 第一个例子
  8. eclipse查看源码的配置
  9. 获取硬件信息的delphi源码CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名
  10. Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库