USE RYPlatformManagerDB
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER ON
GO
CREATE Proc [dbo].[WEB_PageView]
@TableName NVARCHAR(), -- 表名
@ReturnFields NVARCHAR() = '*', -- 查询列数
@PageSize INT = , -- 每页数目
@PageIndex INT = , -- 当前页码
@Where NVARCHAR() = '', -- 查询条件
@OrderBy NVARCHAR(), -- 排序字段
@PageCount INT OUTPUT, -- 页码总数
@RecordCount INT OUTPUT -- 记录总数
WITH ENCRYPTION AS --设置属性
SET NOCOUNT ON -- 变量定义
DECLARE @TotalRecord INT
DECLARE @TotalPage INT
DECLARE @CurrentPageSize INT
DECLARE @TotalRecordForPageIndex INT BEGIN
IF @Where IS NULL SET @Where=N'' -- 记录总数
DECLARE @countSql NVARCHAR() IF @RecordCount IS NULL
BEGIN
SET @countSql='SELECT @TotalRecord=Count(*) From '+@TableName+' '+@Where
EXECUTE sp_executesql @countSql,N'@TotalRecord int out',@TotalRecord OUT
END
ELSE
BEGIN
SET @TotalRecord=@RecordCount
END SET @RecordCount=@TotalRecord
SET @TotalPage=(@TotalRecord-)/@PageSize+
SET @CurrentPageSize=(@PageIndex-)*@PageSize -- 返回总页数和总记录数
SET @PageCount=@TotalPage
SET @RecordCount=@TotalRecord -- 返回记录
SET @TotalRecordForPageIndex=@PageIndex*@PageSize EXEC ('SELECT *
FROM (SELECT TOP '+@TotalRecordForPageIndex+' '+@ReturnFields+', ROW_NUMBER() OVER ('+@OrderBy+') AS PageView_RowNo
FROM '+@TableName+ ' ' + @Where +' ) AS TempPageViewTable
WHERE TempPageViewTable.PageView_RowNo >
'+@CurrentPageSize) END
RETURN GO

最新文章

  1. JS表单验证插件(支持Ajax验证)
  2. [转载]UEditor报错TypeError: me.body is undefined
  3. js 精确小数俩位
  4. Ubuntu 安装vsftp软件(已测试)
  5. chrome浏览器插件window resizer调试webapp页面大小
  6. 关于KOBE 退役
  7. 多线程(一)NSThread
  8. Excel 自定义函数
  9. python2到python3的转换以及f.write在python3 中的用法
  10. vue-cli如何引入bootstrap工具
  11. 【原】如何获取Java动态生成类?
  12. 转:rabbitMQ 安装与管理
  13. [lua]luasocket.c:20:17: fatal error: lua.h: No such file or directory
  14. 491. Increasing Subsequences
  15. 06 Zabbix4.0系统CISCO交换机告警模板规划信息(基础)
  16. 第二篇-Django建立数据库各表之间的联系(中)
  17. jQuery获取元素上一个、下一个、父元素、子元素
  18. mysql 表注释的添加、查看 、修改
  19. python的Web框架:初识Django
  20. C语言学习 - 字节对齐

热门文章

  1. VMware Workstation 将虚拟机挂起后,电脑会很卡,SCSI转换成IDE就可以了
  2. Linux系统调优——Memory内存(二)
  3. 增强篇4 CO01生产订单屏幕增强
  4. vue-cli3使用vue-router 使用动态路由,在刷新页面时报错
  5. C# 代码自动生成工具
  6. shiro 的session持久化
  7. 将linux的root用户的家目录由/root切换为/home/root
  8. LeetCode 258. 各位相加(Add Digits)
  9. git实现码云的上传和下载
  10. ubuntu下安装amqp扩展