• MSSQL—存储过程分页


    SET QUOTED_IDENTIFIER ON
    SET ANSI_NULLS ON
    GO
    
    CREATE PROCEDURE [dbo].[GetPagingStr]
      @PRESQL VARCHAR(8000),  --前部分语句,SELECT内容
      @SUFSQL VARCHAR(8000),  --后部分语句,从FROM开始
      @SQL VARCHAR(8000) OUTPUT, --完整分页语句
      @PageSize int,
      @PageNum int,
      @RecordCount int OUTPUT
       
    WITH ENCRYPTION
    AS
    
    IF @PageSize>0 AND @PageNum>0 --需要分页
    BEGIN
    --执行SQL
    SELECT @SQL=@PRESQL + @SUFSQL + ') as PageTable where row_num between (' + CONVERT(VARCHAR(8),@PageNum) + '-1)*' + CONVERT(VARCHAR(8),@PageSize) + '+1 and ' + CONVERT(VARCHAR(8),@PageSize) + '*' + CONVERT(VARCHAR(8),@PageNum)
    END
    ELSE
    BEGIN--不需要分页
    SELECT @SQL=@PRESQL + @SUFSQL + ') as PageTable'
    END
    
    --记录总数
    DECLARE @COUSQL NVARCHAR(1000)--总条数SQL
    SELECT @COUSQL='SELECT @RecordCount=(select count(*) ' + @SUFSQL + ')'
    execute SP_EXECUTESQL @COUSQL,N'@RecordCount int output',@RecordCount OUT
    GO
  • 相关阅读:
    2016-5-6
    PE文件格式
    CheatEngine-内存修改
    ollydbg教程-动态调试
    IDA教程-静态反编译
    JavaFX常用汇总
    settings.xml样例文件
    Cassandra安装配置
    Linux安装配置相关
    Dom4j-读写xml
  • 原文地址:https://www.cnblogs.com/luomingui/p/12621348.html
Copyright © 2020-2023  润新知