全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

SQL分页查询存储过程代码分享

话不多说,请看代码

-------------------------------------
-----作者:张欣宇
-----时间:2013-06-28
-----简介:根据参数和条件分页查询
-------------------------------------
Create proc [dbo].[Up_PagingQueryByParameter]
(
 ----- 表名或能查询到结果的SQL语句{SQL语句左右必须有括号例:(select * from tbl1)}
 @TableName varchar(max),
 ----- 要查询的列名语句; 可空默认*
 @ColumnName varchar(5000),
 ----- 用来排序的列; 不可为空
 @OrderByColumnName varchar(50),
 ----- 排序desc(倒序5.4.3.2.1)或asc(正序1.2.3.4.5); 可空默认asc
 @ShrtBy varchar(4),
 ----- Where条件; 可空默认1=1
 @Where varchar(5000),
 ----- 每页显示数; 可空默认20
 @PageShows int,
 ----- 当前页数; 可空默认1
 @CurrentPage int,
 ----- 0为分页查询;其他为查询全部; 可空默认0
 @IsPaging int
)
as
begin
 ----- 参数检查及规范
 if isnull(@Where,N'')=N'' set @Where = N'1=1';
 if isnull(@ColumnName,N'')=N'' set @ColumnName = N'*';
 if isnull(@PageShows,0)<1 set @PageShows = 20;
 if isnull(@CurrentPage,0)<1 set @CurrentPage = 1;
 if isnull(@ShrtBy,N'')=N'' set @ShrtBy = 'asc';
 if isnull(@IsPaging,0)<>1 set @IsPaging = 0;
 ----- 定义
 -- 拼接的SQL语句
 declare @SqlStr nvarchar(max);
 declare @SqlWithStr nvarchar(max);
 -- 开始条数
 declare @StartIndex int;
 -- 结束条数
 declare @EndIndex int;
 ----- 赋值
 set @StartIndex = (@CurrentPage-1)*@PageShows+1;
 print(@CurrentPage);
 print(@PageShows);
 print(@StartIndex);
 set @EndIndex = @CurrentPage*@PageShows;
 print(@EndIndex);
 set @OrderByColumnName=@OrderByColumnName+' '+@ShrtBy;
 ----- 分页查询
 set @SqlWithStr = N'with temp as(select ROW_NUMBER() over(order by '+@OrderByColumnName+N') as RowNumber,'+@ColumnName+N' from '+@TableName+N' as tableName where '+@Where+N')';
 if(@IsPaging = 0)
 begin
 set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp where temp.RowNumber between '+convert(nvarchar(20),@StartIndex)+N' and '+convert(nvarchar(20),@EndIndex)+N'';
 ---- print(@SqlStr);
 exec(@SqlStr);
 ----- 总数查询
 set @SqlStr = @SqlWithStr + N' select count(*) as TotalNumber from temp';
 ---- print(@SqlStr);
 exec(@SqlStr);
 end
 else
 begin
 set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp';
 ---- print(@SqlStr);
 exec(@SqlStr);
 end
end

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# sql  # 分页  # 存储过程  # 五种SQL Server分页存储过程的方法及性能比较  # SQL Server 分页查询通用存储过程(只做分页查询用)  # sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享  # 深入sql server 2005 万能分页存储过程的详解  # 基于Sql Server通用分页存储过程的解决方法  # mssql 高效的分页存储过程分享  # SQL Server 2005通用分页存储过程及多表联接应用  # MSSQL MySQL 数据库分页(存储过程)  # 三种SQL分页查询的存储过程代码  # SQL通用存储过程分页  # 支持多表联合  # 条数  # 每页  # 他为  # 多说  # 为空  # max  # TableName  # varchar  # desc  # ColumnName  # OrderByColumnName  # select  # 张欣  # brush  # pre  # class  # dbo  # Up_PagingQueryByParameter 


相关文章: python的本地网站制作,如何创建本地站点?  西安专业网站制作公司有哪些,陕西省建行官方网站?  高端云建站费用究竟需要多少预算?  建站之星安装后界面空白如何解决?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  宝塔建站助手安装配置与建站模板使用全流程解析  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  简单实现Android验证码  建站之星云端配置指南:模板选择与SEO优化一键生成  建站主机选购指南与交易推荐:核心配置解析  打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何通过主机屋免费建站教程十分钟搭建网站?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  行程制作网站有哪些,第三方机票电子行程单怎么开?  油猴 教程,油猴搜脚本为什么会网页无法显示?  简历在线制作网站免费版,如何创建个人简历?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  建站上传速度慢?如何优化加速网站加载效率?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  网站制作报价单模板图片,小松挖机官方网站报价?  电商网站制作公司有哪些,1688网是什么意思?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  常州自助建站费用包含哪些项目?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  建站之星北京办公室:智能建站系统与小程序生成方案解析  如何通过NAT技术实现内网高效建站?  如何挑选最适合建站的高性能VPS主机?  宝塔新建站点报错如何解决?  如何在IIS服务器上快速部署高效网站?  如何在宝塔面板中创建新站点?  香港服务器租用每月最低只需15元?  ,石家庄四十八中学官网?  三星网站视频制作教程下载,三星w23网页如何全屏?  已有域名和空间,如何快速搭建网站?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  如何快速生成凡客建站的专业级图册?  西安大型网站制作公司,西安招聘网站最好的是哪个?  大连网站设计制作招聘信息,大连投诉网站有哪些?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何通过远程VPS快速搭建个人网站?  php json中文编码为null的解决办法  济南网站建设制作公司,室内设计网站一般都有哪些功能?  存储型VPS适合搭建中小型网站吗?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何快速搭建虚拟主机网站?新手必看指南  高防服务器租用指南:配置选择与快速部署攻略  如何快速生成橙子建站落地页链接?  建站之星在线版空间:自助建站+智能模板一键生成方案 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。