使用李天平代码生成器中分页存储过程的问题
------------------------------------
--用途:分页存储过程(对有主键的表效率极高)
--说明:
------------------------------------
CREATE PROCEDURE UP_GetRecordByPage
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 主键字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@IsReCount bit = 0, -- 返回记录总数, 非 0 值则返回
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1000) = '' -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(6000) -- 主语句
declare @strTmp varchar(1000) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName +'] desc'
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'
+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
if @PageIndex = 1
begin
set @strTmp =''
if @strWhere != ''
set @strTmp = ' where ' + @strWhere
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + ']' + @strTmp + ' ' + @strOrder
end
if @IsReCount != 0
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'+' where ' + @strWhere
exec (@strSQL)
GO
转载于:https://www.cnblogs.com/fredlau/archive/2008/09/05/1284978.html
使用李天平代码生成器中分页存储过程的问题相关推荐
- 用于jqGrid获取SQL Server中数据的简单分页存储过程及sp_executesql的一点使用方法...
之前我第一篇有关jqGrid JSON数据的获取是动态拼接的SQL语句(因为是Access数据库),然后我自己也用SQL Server中的数据作了测试,为了方便写了一个分页的存储过程,过程中也认识了下 ...
- 动软代码生成器分页存储过程
1.定义动软代码生成器分页存储过程 ------------------------------------ --用途:分页存储过程(对有主键的表效率极高) --说明: --------------- ...
- oracle存储过程 多条件,Oracle多条件查询实际分页存储过程实操
以下的文章主要是介绍Oracle多条件查询分页存储过程,以下就是Oracle多条件查询分页存储过程具体方案的描述,希望在你今后的学习中会有所帮助.将业务逻辑放到Oracle中使得后台代码很精简,Ora ...
- 技术以外的功夫 ----作者:李天平
记得看过冯仑的"赚钱以外的功夫"有感而发,写写我们IT人技术以外的功夫. 有时候发现做技术做长了,很多的人的性格都会发生变化,变得内向,变得封闭.有的会发现市场团队的开会, ...
- 分页存储过程性能比较 二分法
在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750 内存:2G 软件:Windows serv ...
- 完整SQL分页存储过程(支持多表联接)
Code /********************************************************* * 作 用:数据分页(完整SQL分页存储过程(支持多表联接)) ...
- 在Entity Framework中使用存储过程(一):实现存储过程的自动映射
之前给自己放了一个比较长的假期,在这期间基本上没怎么来园子逛.很多朋友的留言也没有一一回复,在这里先向大家道个歉.最近一段时间的工作任务是如何将ADO.NET Entity Framework 4.0 ...
- SQL Server分页存储过程实践(图解)
下面来对SQL Server分页存储过程进行一下实做.图解成功的各个步骤. 一 找到大数据量的示例表 分页都是针对大记录数的表:反之有大记录数的表,可能就需要分页.例如银行用户表,就会上千万.下面先做 ...
- oracle千万级分页优化,oracle千万级数据分页存储过程优化
随着数据量的增加,Oracle数据库分页存储过程(使用rownum分页)查询性能越来越差,查询时间也越来越长,于是优化势在必行,结合用户一般使用特点(一般看前几页的较多),于是以此为切入点优化原先的存 ...
最新文章
- 如何打造高质量的机器学习数据集?这份超详指南不可错过
- 阿里云ECS使用SSH连接CentOS 6.9经常断线的问题解决:OperationTimedOut
- iphone:UISplitView
- linux ls只显示文件名或者文件夹名
- 50个Android开发技巧(09 避免用EditText对日期进行验证)
- VC6编译卡死之解决办法
- python抽象基类的作用_Python:多态、鸭子模型和抽象基类
- python爬虫怎么挣钱_python爬虫12 | 爸爸,他使坏,用动态的 Json 数据,我要怎么搞?...
- OpenShift 4 之 GitOps(7)用ArgoCD部署Pacman应用集群
- Unsupported major.minor version 52.0解决
- 项目计划与控制-若干题目
- 部署VC2008的程序
- html表格左边锁定,表头锁定
- 编程之美 - 抓石头游戏(2)
- NetSpeed--网速检测
- 微信小程序canvas实现画圆圈头像
- 网站引用字体兼容IE
- Vue打包后通过springboot运行页面为空白页的解决方法
- 前端原生下载excel表格
- 【Java篇】第三话-你真的了解抽象类吗?
热门文章
- 2020 MCM Meritorious Winner
- find your place
- 几何着色器与细分(镶嵌)着色器
- onlevelwasloaded的调用时机
- 首次提出“智能经济形态”,与实体经济深度融合
- 业界 | 如何达到Kaggle竞赛top 2%?这里有一篇特征探索经验帖
- Android 5.0+高级动画开发 矢量图动画 轨迹动画 路径变换
- [转载]AxureRP 7.0部件详解(一)
- javaWeb中的Model1和Model2
- 转载:JAVA 操作 Ant API