加入收藏    联系我们    

首页 | 公司简介 | 数据恢复 | 成功案例 | 技术中心 | 服务报价 | 客户服务 | 联系我们 | 技术论坛 | 北亚博客     
 当前位置:首页 >> 技术中心 >> 相关编程资料 >> 正文
 
SQLServer分页查询通用存储过程

作者:北亚  来源:北亚数据恢复中心  发布日期:2007-8-9 17:07:46  点击次数:

自开始做项目以来,一直在用。这段存储过程的的原创者(SORRY,忘记名字了),写得这段SQL代码很不错,我在这个基础上,按照我的习惯以及思维方式,调整了代码,只做分页查询用。

/**//*----------------------------------------------
 *procedure name : prcPageResult
 *  author : FuChun
 *  create date : 2006-10-04
 */
CREATE PROCEDURE prcPageResult
-- 获得某一页的数据 --
@currPage int = 1,                                    --当前页页码 (即Top currPage)
@showColumn varchar(2000) = '*',           --需要得到的字段 (即 column1,column2,......)
@tabName varchar(2000),                           --需要查看的表名 (即 from table_name)
@strCondition varchar(2000) = '',              --查询条件 (即 where condition......) 不用加where关键字
@ascColumn varchar(100) = '',                 --排序的字段名 (即 order by column asc/desc)
@bitOrderType bit = 0,                            --排序的类型 (0为升序,1为降序)
@pkColumn varchar(50) = '',                   --主键名称
@pageSize int = 20                                --分页大小

AS
BEGIN -- 存储过程开始
-- 该存储过程需要用到的几个变量 http://www.knowsky.com/ --
DECLARE @strTemp varchar(1000)
DECLARE @strSql varchar(4000)                   --该存储过程最后执行的语句
DECLARE @strOrderType varchar(1000)      --排序类型语句 (order by column asc或者order by column desc)

BEGIN
IF @bitOrderType = 1   -- bitOrderType=1即执行降序
BEGIN
    SET @strOrderType = ' ORDER BY '+@ascColumn+' DESC'
    SET @strTemp = '<(SELECT min'
END
ELSE
BEGIN
    SET @strOrderType = ' ORDER BY '+@ascColumn+' ASC'
    SET @strTemp = '>(SELECT max'
END

IF @currPage = 1    -- 如果是第一页
BEGIN
    IF @strCondition != ''
        SET @strSql = 'SELECT TOP '+STR(@pageSize)+' '+@showColumn+' FROM '+@tabName+
            ' WHERE '+@strCondition+@strOrderType
    ELSE
        SET @strSql = 'SELECT TOP '+STR(@pageSize)+'

本新闻共2页,当前在第1页  1  2  


本新闻共2页,当前在第1页  1  2  


上一篇:

黑客经验谈Sql server SA权限入侵的感悟

下一篇: 探索Windows的内存机制
 >> 服务电话
  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  其它地区: 4006-505-808
最新案例  
中国地震局地质研究所
中央电视台新闻评论部
硬盘进水后,磁头芯片组
恢复后的MDF文件无法附
教育部学位中心-硬盘数
GHOST恢复系统后,硬盘
硬盘突然断电后,F盘所
解决方案  
LINUX FSCK数据出错灾
误删除、误格式化数据
误GHOST、误一键恢复灾
磁盘未被格式化,是否格
raid磁盘阵列OFFLINE后
硬盘出现异响应急处理
more>>
 >> 友情链接
数据恢复 数据恢复 数据恢复 数据恢复 数据恢复 数据恢复 数据恢复
返回首页 | 关于我们 | 在线留言 | 联系我们 | 友情链接

版权所有 北京北亚数据恢复中心
全国统一客服电话:4006-505-808 或 800-810-5880
公司地址:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室
京ICP备06031461