zoukankan      html  css  js  c++  java
  • SQL2005 分頁存儲過程

    CREATE PROCEDURE [dbo].[GetUsers]
        @RowIndex int,----當前指定的頁數
        @RecordCount int----每頁顯示的記錄數
    AS
    BEGIN
        SET NOCOUNT ON;

        With VUsers as (
            select *,row_number() over (order by UserID desc) as RowNum
            from MyUsers
    )

        select * from VUsers
        where RowNum > @RowIndex and RowNum <= (@RowIndex+@RecordCount)    
    END

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
    Alter PROCEDURE UP_GetRecordByPage  
       @tblName      varchar(255),       -- 表名 
       @keyName   varchar(255),  --主键
       @PageSize     int = 10,           -- 页尺寸
       @PageIndex    int = 0 ,         -- 页码  
       @strWhere     varchar(1000) = ''  -- 查询条件 (注意: 不要加 where)
    AS 
    declare @strSQL   varchar(6000)       -- 主语句
    declare  @beginItemIndex  int    --开始项
    declare  @endItemIndex  int     --结束项
    set @beginItemIndex=@PageIndex*@PageSize
    set @endItemIndex=@beginItemIndex+@PageSize
    set @strSQl='Select top 10 * FROM
    (
    select *,
    ROW_NUMBER() OVER( orDER BY '+@keyName+' DESC ) as rowNo 
    from '
    set @strSQL=@strSQL+@tblName+' where 1=1 '
     if @strWhere!=''
    begin 
    set @strSQL=@strSQL+@strWhere;
    end
     
    set @strSQL=@strSQL+') 
    AS tabeTemp 
    Where RowNo >='+cast (@beginItemIndex as varchar ) +' and RowNo <='+ cast (@endItemIndex as 

    varchar)
    print @strSQL
    exec(@strSQL)
    go
  • 相关阅读:
    改进的延时函数Delay(使用MsgWaitForMultipleObjects等待消息或超时的到来)
    罗斯福新政
    保存网页为图片——滚动截取IE(WebBrowse)
    Linux LVM硬盘管理及LVM分区扩容
    visual leak dector内存泄漏检测方法
    小智慧30
    函数调用的原理
    HTTP协议漫谈
    Boost源码剖析之:泛型指针类any
    扩展C++ string类
  • 原文地址:https://www.cnblogs.com/Bluer/p/815202.html
Copyright © 2011-2022 走看看