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

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

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

2024-08-31 00:57:59
字體:
來源:轉載
供稿:網友
這是經常用的一個分頁存儲過程 希望大家指點不足

復制代碼 代碼如下:


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)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙海市| 嘉兴市| 柞水县| 九龙城区| 三江| 德清县| 洛隆县| 淮安市| 禄丰县| 宁晋县| 和顺县| 繁峙县| 舟山市| 侯马市| 砚山县| 荥经县| 宁远县| 兴化市| 延长县| 普兰店市| 东兰县| 沈阳市| 慈利县| 晋宁县| 正镶白旗| 郴州市| 广水市| 郁南县| 筠连县| 武鸣县| 宿迁市| 娱乐| 凭祥市| 凤城市| 恩平市| 牡丹江市| 新蔡县| 遂宁市| 瑞昌市| 霍山县| 望谟县|