分页存储过程sql脚本

  • x6_318110
    了解作者
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-27 06:50
    上传日期
分页存储过程sql脚本
分页存储过程sql脚本.rar
  • 分页存储过程脚本.sql
    1.8KB
内容介绍
USE [Huacisoft.Crm.Dev] GO --DECLARE @TEST INT --EXEC P_CommonPagingList 'T_Bus_VCustomer',10,1,'*','Cust_UpdateTime','',1,@TEST /****** Object: StoredProcedure [dbo].[P_CommonPagingList] Script Date: 02/26/2014 08:04:22 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: liangweiqing -- Create date: 2013-12-15 -- Description: 公用分页存储过程 -- ============================================= CREATE PROCEDURE [dbo].[P_CommonPagingList] @TblName VARCHAR(MAX), --表名、视图名 @PageSize int=10, --每页的大小(行数) @PageIndex int=1, --要显示的页 @FldList VARCHAR(MAX), --要显示的字段列表(为空或*列出所有字段) @FldOrder NVARCHAR(MAX), --排序字段列表 @StrWhere VARCHAR(MAX),--过滤条件 @FdOrderDirec INT, --设置排序顺序;0:升序;1:降序 @Rows INT OUTPUT -- 输出记录数, 如果@rows为null, 则输出记录数, 否则不要输出 AS DECLARE @strOrder VARCHAR(400) -- 排序类型 DECLARE @Sql VARCHAR(MAX) IF (@FldList ='') SET @FldList = '*' IF (@FdOrderDirec=0) SET @strOrder = ' Order by ' + @FldOrder + ' asc' ELSE SET @strOrder = ' Order by ' + @FldOrder + ' desc' SET @TblName=@TblName+' '+@StrWhere DECLARE @lbuseidentity NVARCHAR(MAX) SET @lbuseidentity = 'select @rows = count(*) from '+@TblName EXEC sp_executesql @lbuseidentity, N'@Rows int out', @Rows out DECLARE @StartNums VARCHAR(20) DECLARE @EndNums VARCHAR(20) SET @StartNums = (@PageSize*(@PageIndex-1)) + 1 SET @EndNums = (@PageSize*@PageIndex) SET @Sql = ' with t_rowtable as ( select row_number() over(' + @strOrder + ' ) as row_number,' + @FldList + ' from ' + @TblName + ' ) select ' + @FldList + ' from t_rowtable where row_number>=' + @StartNums + ' and row_number<=' + @EndNums + @strOrder EXEC (@Sql) GO
评论
    相关推荐