zoukankan      html  css  js  c++  java
  • 高效的SQL分页存储过程

    CREATE PROCEDURE  SP_CommonPageList
        @Fields VARCHAR(500),      
        @From VARCHAR(1000),      
        @Condition VARCHAR(1000),      
        @SortBy VARCHAR(500),      
        @PageIndex NVARCHAR(10),      
        @PageSize NVARCHAR(10),      
        @TotalCount INT OUT      
    AS       
     DECLARE @SQL NVARCHAR(2000)      
     SET @SQL ='SELECT @TotalCount=COUNT(1) '+@From+'  '+@Condition+' '    
     EXEC SP_EXECUTESQL @SQL,N'@TotalCount INT OUTPUT', @TotalCount OUTPUT    
     DECLARE @ExeSQL NVARCHAR(4000)
     DECLARE @Count NVARCHAR(10)
     DECLARE @LastRow NVARCHAR(10)
     SET @Count=CONVERT(INT,@PageSize)*CONVERT(INT,@PageIndex)  
     SET @LastRow=@TotalCount
     PRINT @LastRow
     SET @ExeSQL='WITH TempList AS
    	(SELECT TOP('+@LastRow+') ROW_NUMBER()OVER('+@SortBy+')AS Rows ,'+@Fields+' '+@From+' '+@Condition+')
    	 SELECT TOP ('+@PageSize+') * FROM TempList WHERE Rows>='+@Count+''
    --PRINT @ExeSQL   
    EXEC sp_sqlexec @ExeSQL  
    
  • 相关阅读:
    走进Android系统
    最后的一像素。
    rem介绍
    软件安装相关问题。
    iscroll
    程序员常用词语发音
    一个程序员眼中的好UI
    myeclipse性能优化
    注入配置数据
    java IO
  • 原文地址:https://www.cnblogs.com/xinting/p/3273183.html
Copyright © 2011-2022 走看看