再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达
就算在我面前的是一堆灰烬,我也要用希望把它点燃:)想我吗?

开饭罗

到时候了,该吃饭了!

博客园 首页 新随笔 联系 订阅 管理
  12 Posts :: 43 Stories :: 72 Comments :: 9 Trackbacks

公告

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

select '' as CheckBox, A.TargetID, A.TargetPeriod, Convert(varchar(10), B.BeginDate, 120as BeginDate, 
    
Convert(varchar(10), B.EndDate, 120as EndDate, C.SalesCode, C.SalesName, 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.TargetPeriod
    
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”是我系统当中的特例情况,用来做一些处理的。
    我这里提供一个自己开发的通用分页存储过程,有什么好的建议和意见,大家请不吝指教。代码如下:
通用分页存储过程----Sp_Paging

如果使用这个通用分页存储过程的话,那么调用方法如下:
使用通用分页存储过程进行分页
posted on 2006-08-31 17:09 生米煮成稀饭 阅读(...) 评论(...) 编辑 收藏