国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

擴展性很好的一個分頁存儲過程分享

2020-07-25 13:18:58
字體:
來源:轉載
供稿:網友
這是經常用的一個分頁存儲過程 希望大家指點不足
復制代碼 代碼如下:

USE [a6756475746]
GO
/****** Object: StoredProcedure [dbo].[tbl_order_SearchWhereAndPage] Script Date: 11/01/2011 09:37:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[tbl_order_SearchWhereAndPage]
@AllCount int OUTPUT,
@PageIndex int,
@PageSize int ,
@minDate datetime,
@maxDate datetime
AS
begin
DECLARE @PageLower int
set @PageLower=@PageSize * @PageIndex
DECLARE @PageUpper int
set @PageUpper= @PageLower + @PageSize - 1

DECLARE @SearchSQL nvarchar(4000)
set @SearchSQL='SELECT * ,( ROW_NUMBER() OVER (ORDER BY [ID] DESC) -1 ) AS RowNumber FROM tbl_order WHERE (1=1) '
DECLARE @SearchSQLCount nvarchar(4000)
set @SearchSQLCount='SELECT @count=Count(*) FROM tbl_order WHERE (1=1) '
declare @Result [varchar](5000)
set @Result=''

if @minDate>convert(datetime,'1900-1-2')
begin
set @Result=@Result+' and oDeliveryDate >= '''+convert(varchar(20),@minDate)+''''
end
if @maxDate > convert(datetime,'1900-1-2')
begin
set @Result=@Result+' and oDeliveryDate <= '''+convert(varchar(20),dateadd(dd,1,@maxDate))+''''
end
set @SearchSQLCount=@SearchSQLCount+@Result
set @SearchSQL=@SearchSQL+@Result

SET @SearchSQL = 'WITH t AS (' + @SearchSQL +' )
SELECT * FROM t
WHERE [RowNumber] BETWEEN '+ convert(varchar(50),@PageLower) +' AND '+ convert(varchar(50),@PageUpper) + '
ORDER BY RowNumber '

exec (@SearchSQL)

exec sp_executesql @SearchSQLCount ,N'@count as int out' ,@AllCount out

print @SearchSQL

print @AllCount
end
exec (@Result)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奈曼旗| 河西区| 瓮安县| 抚州市| 广丰县| 临泽县| 峨眉山市| 华安县| 玉门市| 拜城县| 堆龙德庆县| 开化县| 保靖县| 青海省| 阿图什市| 永济市| 涿州市| 韶关市| 黔南| 石屏县| 苍梧县| 容城县| 公主岭市| 信宜市| 兴义市| 綦江县| 岑溪市| 平昌县| 安阳市| 嵊州市| 安庆市| 西盟| 纳雍县| 阿鲁科尔沁旗| 泽州县| 长白| 伊金霍洛旗| 阳城县| 伊春市| 阳原县| 浦东新区|