SQL Server 2000的分页存储过程的改写

域名2025-11-05 06:44:1162
SQL Server 2000的分页存储过程的改写
复制set @intOrder=CharIndex(order by,的的源码下载@SQL)   set @intSQL=Len(@SQL)   set @intFilds=CharIndex(select,@SQL)   set @strFilds=SubString(@SQL,@intFilds+7,@intSQL-@intFilds-1)   set @strFilds=SubString(@strFilds,1,CharIndex(from,@strFilds)-1)   set @tblName=SubString(@SQL,CharIndex(from,@SQL)+5,@intSQL-CharIndex(from,@SQL)+5)   set @intTable=CharIndex( ,@tblName)   if @intTable>0   begin   set @tblName=SubString(@tblName,1,@intTable-1)   end   set @intWhere=CharIndex(where ,@SQL)   if @intWhere>0   begin   if @intOrder>0   begin   set @strWhere=SubString(@SQL,@intWhere+6,@intOrder-@intWhere-7)   end   else   begin   set @strWhere=SubString(@SQL,@intWhere+6,@intSQL-@intWhere-5)   end   end   else   begin   set @strWhere= end   if @intOrder>0   begin   set @strOrder=+SubString(@SQL,@intOrder,@intSQL-@intOrder+1)   set @tmpOrder=SubString(@strOrder,11,Len(@strOrder)-10)   if CharIndex( ,@tmpOrder)>0   begin   set @fldName=SubString(@tmpOrder,1,CharIndex( ,@tmpOrder)-1)   end   else   begin   set @fldName=@tmpOrder   end   if CharIndex(desc,@SQL)>0   begin   set @strTmp=<(select min end   else   begin   set @strTmp=>(select max end   end   else   begin   set @fldName=ID set @strTmp = >(select max set @strOrder =  order by [ + @fldName +] asc   end   set @strSQL = select top  + LTrim(str(@PageSize)) +  +@strFilds+ from [   + @tblName + ] where [ + @fldName + ] + @strTmp + ([   + @fldName + ]) from (select top  + LTrim(str((@PageIndex-1)*@PageSize)) +  [   + @fldName + ] from [ + @tblName + ] + @strOrder + ) as tblTmp)   + @strOrder   if @strWhere !=    set @strSQL = select top  + LTrim(str(@PageSize)) +  +@strFilds+ from [   + @tblName + ] where [ + @fldName + ] + @strTmp + ([ + @fldName + ]) from (select top  + LTrim(str((@PageIndex-1)*@PageSize)) +  [   + @fldName + ] from [ + @tblName + ] where  + @strWhere +     + @strOrder + ) as tblTmp) and  + @strWhere +   + @strOrder   if @PageIndex = 1 begin   set @strTmp =  if @strWhere !=    set @strTmp =  where ( + @strWhere + )   set @strSQL = select top  + LTrim(str(@PageSize)) +  +@strFilds+ from [   + @tblName + ] + @strTmp +   + @strOrder   end   exec (@strSQL)   1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.网站模板
本文地址:http://www.bzuk.cn/html/055a6299882.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

解决三星硬盘无法装系统问题的有效方法(三星硬盘安装系统故障解决方法及步骤)

请收藏!运维必会的 Kubernetes 指南

车牌监控探头开源地图风靡美国

趣说数据库事务隔离级别与原理

磁盘分区教程(深入探索MBR的功能、用途和实现方法)

最适合新手的Redis基础

Redis经典问题:数据不一致

Golang 数据库事务实践

友情链接

滇ICP备2023006006号-33