sqlserver存储过程实现多表分页
if @PageIndex = 1
begin
if @strWhere != ’’
set @strSQL = ’select top ’ + str(@PageSize) +’ ’+@strGetFields+ ’ from [’+ @tblName +’] where ’ + @strWhere + ’ ’ + @strOrder
else
set @strSQL = ’select top ’ + str(@PageSize) +’ ’+@strGetFields+ ’ from [’+ @tblName +’] ’+ @strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
end
else
begin
--以下代码赋予了@strSQL以真正执行的SQL代码
set @strSQL = ’select top ’ + str(@PageSize) +’ ’+@strGetFields+ ’ 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) +’ ’+@strGetFields+ ’ from [’+ @tblName +’] where [’ + @fldName + ’]’ + @strTmp + ’([’+ @fldName + ’]) from (select top ’ + str((@PageIndex-1)*@PageSize) + ’ [’+ @fldName + ’]
from [’+ @tblName +’] where ’ + @strWhere + ’ ’ + @strOrder + ’) as tblTmp) and ’ + @strWhere + ’ ’ + @strOrder
end
end
exec ( @strSQL)
GO
sqlserver存储过程实现多表分页的更多相关文章
- SqlServer存储过程应用二:分页查询数据并动态拼接where条件
前言 开发中查询功能是贯穿全文的,我们来盘一盘使用存储过程分页查询,并且支持动态拼接where条件. 划重点:支持动态拼接where条件 对存储过程的使用有疑问的同学去[SqlServer存储过程的创 ...
- SQLServer存储过程实现单条件分页
SQLServer Procedure Pagination_basic: ALTER PROCEDURE [qiancheng].[Pagination_basic] ( ), --name of ...
- sqlserver 存储过程学习笔记(二) 在项目中的应用<多表分页>
(1)存储过程建立 USE [NewPlat] GO /****** Object: StoredProcedure [dbo].[usp_PagingLarge] Script Date: ...
- SQL 单表分页存储过程和单表多字段排序和任意字段分页存储过程
第一种:单表多字段排序分页存储过程 --支持单表多字段查询,多字段排序 create PROCEDURE [dbo].[UP_GetByPageFiledOrder] ( ), --表 ...
- SqlServer判断数据库、表、字段、存储过程、函数是否存在
原文:SqlServer判断数据库.表.字段.存储过程.函数是否存在 判断数据库是否存在 if exists (select * from sys.databases where name = '数据 ...
- SqlServer存储过程详解
SqlServer存储过程详解 1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) dro ...
- Sqlserver 存储过程
转载自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html Transact-SQL中的存储过程,非常类似于Java语言中的方法, ...
- 解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译)
解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译) http://improve.dk/where-does-sql-server-store-the-sourc ...
- SqlServer存储过程学习笔记(增删改查)
* IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( ...
随机推荐
- storm 消息确认机制及可靠性
worker进程死掉 在一个节点 kill work进程 比方 kill 2509 对work没有影响 由于会在其它节点又一次启动进程运行topology任务 supervisor进程死掉 supe ...
- HDU Victor and World (最短路+状态压缩)
题目链接:传送门 题意: n个城市m条路.刚開始在点1,求把每一个城市都遍历一边最后回到1的花费的最小值. 分析: +n2∗2n). 转自Bestcode. 以下说说我的状态转移,首先 ...
- 【VBA研究】用VBA取得EXCEL随意列有效行数
作者:iamlaosong 用VBA对Excel文件进行处理的时候,keyword段的列号编程时往往是不知道的.须要通过參数设定才干知道,因此.我们编程的时候,就不能用这种语句取有效行数: linen ...
- 在spring-mybatis.xml 中配置pagehelper
maven导包:<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ ...
- Unix/Linux环境下多一点不如少一点
正如很多人所知道的$PATH环境变量里存着一张目录列表,当用户要执行某一程序时,系统就会按照列表中的内容去查找该程序的位置.当程序名前不带点斜线 . / 时$PATH就会起作用. 对于普通用户和roo ...
- Python学习笔记 capture 1
最近开始学习Python3.x,真的感觉Python的语法与C++,Java有很大的不同,Python从某些方面来说语法更简单.Python作为一种解释性语言和编译型语言如C++来说,还是各有千秋的. ...
- 如何解决winxp访问win10共享打印机提示凭据不足
Winxp访问win10共享的打印机,提示凭据不足时,如何解决,本篇经验将和大家分享下解决的办法,希望对大家的工作有所帮助! 方法/步骤 在win10的电脑上对着始按钮点鼠标右键,点击运行,或 ...
- BZOJ3645: Maze(FFT多项式快速幂)
Description 众维拉先后在中土大陆上创造了精灵.人类以及矮人,其中矮人是生性喜好常年居住在地下的洞穴的存在,他们挖掘矿物甚至宝石,甚至用他们的勤劳勇敢智慧在地底下创造出了辉煌宏大的宫殿,错综 ...
- PHP获取一周后的时间戳
echo strtotime("now");//相当于将英文单词now直接等于现在的日期和时间,并把这个日期时间转化为unix时间戳.这个效果跟echo time();一样. ec ...
- git hub在windows上的使用
每次使用都需要查找,太麻烦了. 转过来自己用! git hub在windows上的使用 一. 首先安装客户端 Git for Windows. 按提示默认安装后,进入git bash(桌面上) 首先检 ...