zoukankan      html  css  js  c++  java
  • 灵活的分页存储过程

    ALTER procedure [dbo].[分页]
    @pageSize  int,
    @pageOrder int,
    @searchTable NVARCHAR(200),
    @pageAmount INT OUTPUT
    AS
    BEGIN
        DECLARE @STR NVARCHAR(MAX)

        SET @STR = '
                     set @pageAmount =(select COUNT(*)/@pageSize
                      from @searchTable)
                   
                    select top (@pageSize) *
        from @searchTable
        where fid not in
        (
         select top (@pageSize * (@pageOrder-1)) fid
         from @searchTable
         ORDER BY FID
        )
        ORDER BY FID
                    '
        SET @STR = REPLACE(@STR,'@pageSize',@pageSize)
        SET @STR = REPLACE(@STR,'@pageOrder',@pageOrder)
        SET @STR = REPLACE(@STR,'@searchTable',@searchTable)
        --SET @STR = REPLACE(@STR,'@pageAmount',@pageAmount)
       
        PRINT @STR
       

        EXECUTE sp_ExecuteSql @STR, N'@pageAmount INT OUTPUT', @pageAmount OUTPUT

    END

    下面是调用过程,当传递的是连接的多表,临时表时,应该,在表名上加 ()

    DECLARE @pageAmountA INT

    SET @pageAmountA = 0

    EXEC [dbo].[PageDiv]
        @pageSize = 25,
        @pageOrder = 1,
        @searchTable = '最终行政区划',
        --@searchTable = '(SELECT A.*,B.* FROM 最终行政区划 A LEFT JOIN YZ_User B on 1 =1)',
        @pageAmount = @pageAmountA OUTPUT


    SELECT @pageAmountA

    单独获取页面数量的存储过程

    USE [AiXinTang]
    GO
    /****** Object:  StoredProcedure [dbo].[GetPageAmount]    Script Date: 06/17/2013 11:10:50 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[GetPageAmount]
    @pageSize  int,
    @searchTable NVARCHAR(200),
    @pageAmount INT OUTPUT
    AS
    BEGIN
      DECLARE @STR NVARCHAR(MAX)

        SET @STR = '
                     set @pageAmount =(select COUNT(*)/@pageSize
                      from @searchTable as D)

                    
       
             
                    '
        SET @STR = REPLACE(@STR,'@pageSize',@pageSize)
        SET @STR = REPLACE(@STR,'@searchTable',@searchTable)
        --SET @STR = REPLACE(@STR,'@pageAmount',@pageAmount)
       
        PRINT @STR
        EXECUTE sp_ExecuteSql @STR ,N'@pageAmount INT OUTPUT', @pageAmount OUTPUT
    END

  • 相关阅读:
    Jenkins发布.Net Core项目到IIS
    2019 SDN上机第2次作业
    2019 SDN上机第1次作业
    第二次结对编程作业
    第3组 团队展示
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    android json解析及简单例子
    详述Google针对Android平板App发布的十大开发准则
  • 原文地址:https://www.cnblogs.com/armanda/p/2591468.html
Copyright © 2011-2022 走看看