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

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO

    -- =============================================
    -- Author:阿瑞-- Create date: 2008-03-13
    -- Description: 分页存储过程
    -- Debug:exec Proc_AspNetPager 'ProductType','[PTypeId],[Name],[Order]','1=1',5,2,'[order]',1,0
    -- =============================================
    CREATE PROCEDURE [dbo].[Proc_AspNetPager]
     @TableName varchar(20),  --表明
     @FieldName varchar(300), --显示的字段明
     @Where varchar(500),
     @PageSize int,    --条数
     @PageIndex int,    --页码
     @FiledOrder varchar(50), --排序字段
     @Order bit,    --排序类型 1为倒序,否则为正序
     @DoCount bit    --是否返回总数 1为返回,否则不返回
    AS
    BEGIN
     DECLARE @SQL varchar(4000)
     DECLARE @ORDERStr varchar(200)
     SET NOCOUNT ON 

     IF(@Order=1)
      SET @ORDERStr = 'ORDER BY '+@FiledOrder+' DESC '
     ELSE
      SET @ORDERStr = 'ORDER BY '+@FiledOrder+' ASC '
     IF(@DoCount=1)
     BEGIN
      SET @SQL = 'SELECT COUNT(*) FROM '+@TableName+' WHERE '+@Where+' '
       + 'SELECT top '+cast(@PageSize as varchar)+' '+@FieldName+' FROM '+@TableName+' WHERE '+@Where+' '
       + @ORDERStr
     END
     ELSE
      BEGIN
      SET @SQL = 'WITH Temptbl as ('
       +'SELECT ROW_NUMBER() OVER ('+@ORDERStr+')AS Row, '+@FieldName+' FROM '+@TableName+'  WHERE '+@Where+')'
       +'SELECT * FROM Temptbl WHERE Row between ('+cast(@PageIndex as varchar)+'-1)*'+cast(@PageSize as varchar)+'+1'+' and ('+cast(@PageIndex as varchar)+'-1)*'+cast(@PageSize as varchar)+'+'+cast(@PageSize as varchar)
     END
     EXEC(@SQL)
    print @SQL
    END


     

  • 相关阅读:
    Tomcate配置单向双向SSL
    webkit和xcode
    bouncycastle创建csr
    JAVA 日期
    JS Date日期
    U盘安装RedHat linux 5.3
    Linux安装JRE tomcat配置java环境
    linux 下查看某个端口是否被占用
    Redhat下 Apache, php, mysql的默认安装路径
    VM 修改 virtualHW.version
  • 原文地址:https://www.cnblogs.com/goooto/p/1105242.html
Copyright © 2011-2022 走看看