中国无忧商务网(

时间:2019-11-22 23:54来源:快三在线投注平台数据库
/******************************************************************中国无忧商务网千万数量级分页存储过程*****************************************************************参数说明:1.Tables:表名称,视图2.PrimaryKey:主关

/******************************************************************中国无忧商务网千万数量级分页存储过程*****************************************************************参数说明:1.Tables:表名称,视图2.PrimaryKey:主关键字3.Sort:排序语句,不带OrderBy比如:NewsIDDesc,OrderRowsAsc4.CurrentPage:当前页码5.PageSize:分页尺寸6.Filter:过滤语句,不带Where7.Group:Group语句,不带GroupBy版权所有:中国无忧商务网( CREATEPROCEDURECN5135_SP_Pagination /* *************************************************************** **中国无忧商务网千万数量级分页存储过程** *************************************************************** 参数说明: 1.Tables:表名称,视图 2.PrimaryKey:主关键字 3.Sort:排序语句,不带OrderBy比如:NewsIDDesc,OrderRowsAsc 4.CurrentPage:当前页码 5.PageSize:分页尺寸 6.Filter:过滤语句,不带Where 7.Group:Group语句,不带GroupBy 版权所有:中国无忧商务网() 欢迎试用,有什么心得请Mail:xzhijun@GMail.com 注:转载请保留相关版权说明,谢谢!^_^ ***************************************************************/ , @PrimaryKeyvarchar, @Sortvarchar=NULL, @CurrentPageint=1, @PageSizeint=10, @Fieldsvarchar='*', @Filtervarchar=NULL, @Groupvarchar AS /*默认排序*/ IF@SortISNULLOR@Sort='' SET@Sort=@PrimaryKey DECLARE@SortTablevarchar DECLARE@SortNamevarchar DECLARE@strSortColumnvarchar DECLARE@operatorchar DECLARE@typevarchar DECLARE@precint /*设定排序语句.*/ IFCHARINDEX>0 BEGIN SET@strSortColumn=REPLACE SET@operator='<=' END ELSE BEGIN IFCHARINDEX=0 SET@strSortColumn=REPLACE SET@operator='>=' END IFCHARINDEX>0 BEGIN SET@SortTable=SUBSTRING(@strSortColumn,0,CHARINDEX SET@SortName=SUBSTRING(@strSortColumn,CHARINDEX+1,LEN END ELSE BEGIN SET@SortTable=@Tables SET@SortName=@strSortColumn END SELECT@type=t.name,@prec=c.prec FROMsysobjectso JOINsyscolumnscono.id=c.id JOINsystypestonc.xusertype=t.xusertype WHEREo.name=@SortTableANDc.name=@SortName IFCHARINDEX>0 SET@type=@type+'('+CAST' DECLARE@strPageSizevarchar DECLARE@strStartRowvarchar DECLARE@strFiltervarchar DECLARE@strSimpleFiltervarchar DECLARE@strGroupvarchar /*默认当前页*/ IF@CurrentPage<1 SET@CurrentPage=1 /*设置分页参数.*/ SET@strPageSize=CAST(@PageSizeASvarchar SET@strStartRow=CAST*@PageSize+1)ASvarchar /*筛选以及分组语句.*/ IF@FilterISNOTNULLAND@Filter!='' BEGIN SET@strFilter='WHERE'+@Filter+'' SET@strSimpleFilter='AND'+@Filter+'' END ELSE BEGIN SET@strSimpleFilter='' SET@strFilter='' END IF@GroupISNOTNULLAND@Group!='' SET@strGroup='GROUPBY'+@Group+'' ELSE SET@strGroup='' /*执行查询语句*/ EXEC( ' DECLARE@SortColumn'+@type+' SETROWCOUNT'+@strStartRow+' SELECT@SortColumn='+@strSortColumn+'FROM'+@Tables+@strFilter+''+@strGroup+'ORDERBY'+@Sort+' SETROWCOUNT'+@strPageSize+' SELECT'+@Fields+'FROM'+@Tables+'WHERE'+@strSortColumn+@operator+'@SortColumn'+@strSimpleFilter+''+@strGroup+'ORDERBY'+@Sort+' ' ) GO

编辑:快三在线投注平台数据库 本文来源:中国无忧商务网(

关键词: