« microsoft sql server (mssql)数据导入导出详解 (多图文档)INPUT type=password 元素 | input type=password 对象 »

通用分页存储过程

通用分页存储过程,源码共享,大家共同完善

好久没有上来写点东西了,今天正好有空,共享一些个人心得,就是关于分页的存
储过程,这个问题应该是老生重谈了,网上的通用存储过程的类型已经够多了,但是,
好象看到的基本上不能够满足一些复杂的SQL语句的分页(也可能是我不够见多识广啊,
呵呵),比如下面这句:select '' as CheckBox, A.TargetID, A.TargetPeriod, Con
vert(varchar(10), B.BeginDate, 120) as BeginDate,


Convert(varchar(10), B.EndDate, 120) as EndDate, C.SalesCode, C.SalesNam
e, D.CatalogCode, D.CatalogName,

E.OrgID, E.OrgName, F.OrgID as BranchOrgID, F.OrgCode as BranchOrgCode,
F.OrgName as BranchOrgName,

A.Amount, '' as DetailButton

from ChlSalesTarget as A

left outer join ChlSalesTargetPeriod as B on A.TargetPeriod=B.TargetPeri
od

left outer join ChlSales as C on A.Sales=C.SalesCode

left outer join ChlItemCatalog as D on A.ItemCatalog=D.CatalogCode

left outer join ChlOrg as E on A.OrgID=E.OrgID

left outer join ChlOrg as F on C.BranchOrgID=F.OrgID

where A.TargetPeriod >='200607' and A.TargetPeriod <='200608' and F.OrgCode
like '%123%' and E.OrgCode like '%123%'

order by A.TargetPeriod desc,C.SalesName,D.CatalogName上面这句SQL里面有一些特
殊情况,比如使用了Convert函数,而且没有主键,有多表连接,有表别名,字段别名等
等,这些情况处理起来可能比较棘手,当然,其中的“'' as CheckBox”是我系统当中
的特例情况,用来做一些处理的。

我这里提供一个自己开发的通用分页存储过程,有什么好的建议和意见,大家请不
吝指教。代码如下:
原创文章如转载,请注明:转载自悠悠博客 [ http://www.ajaxstu.com/ ]

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。