zoukankan      html  css  js  c++  java
  • 使用存储过程分页

    大家知道,如果一次性把记录全部查询过来,然后保存在内存里面,会比较浪费资源,因此,需要多少数据查询多少数据才比较合理,下面是使用存储过程分页的方法。这个方法的缺点就是如果到记录的后面时,查询的量也比较大。

    --根据条件显示相应的记录,并分页。
    CREATE PROC SelectPageFiles
    @WhereCondition nvarchar(
    500),  --查询条件
    @PageIndex 
    int,        --页号
    @PageCount 
    int,           --每页的记录数
    @OrderCondition varchar(
    50--排序条件
    as

    SET NOCOUNT ON
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED

    declare @SQL nvarchar(
    2500)
    set @SQL='SELECT top '+convert(varchar,@PageCount)+' FileId,
            [title],    
        UpFile,
        filetable.cateid,
        filetable.gradeId,    
        [adddate],    
        filetable.filetypeid,    
        [kemu_id],    
        hit,
        dbo.GetGradeName(gradeId) 
    as GradeName,
        dbo.GetFileTypeName(FileTypeID) 
    as FileTypeName,
        convert(
    int,FileSize) as FileSize2
     FROM [dbo].[filetable]    
     WHERE fileid not 
    in
     (
    select top 
    '+convert(varchar,(@PageIndex-1)*@PageCount)+' fileid from filetable 
         
    where  '+@WhereCondition+'  order by '+@OrderCondition+')
    and  
    '+@WhereCondition+'  order by '+@OrderCondition


    print @SQL
    EXEC sp_executesql @SQL
    GO
  • 相关阅读:
    旋转数组求最小值
    docker
    php爬虫
    docker,docker-compose 安装
    ReactPHP
    Workerman了解一下
    ubantu 运行.sh 脚本的问题
    ubantu 文件权限 Permission denied
    ubantu 文件属性
    mysql命令行中执行sql的几种方式总结
  • 原文地址:https://www.cnblogs.com/ringwang/p/1046137.html
Copyright © 2011-2022 走看看