sql分页存储过程(返回记录数)

if里面处理的是带搜索条件的
else里面处理的是不带搜索条件的


-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:andy
-- Create date: 2013.3.6
-- Description: 获取正在制作的课件分页存储过程
-- =============================================
CREATE PROCEDURE dbo.sp_vendor_coursewareMakingPagging
@PageIndex INT ,
@PageSize INT ,
@CoursewareName NVARCHAR(256) = '' ,
@VendorId INT ,
@StartDate DATETIME = '' ,
@EndDate DATETIME = ''
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SET NOCOUNT ON;
DECLARE @StartIndex INT;
DECLARE @EndIndex INT;
SET @PageIndex = @PageIndex - 1;
SET @StartIndex = @PageIndex * @PageSize + 1;
SET @EndIndex = ( @PageIndex + 1 ) * @PageSize;
--pager list
IF ( @StartDate != ''
AND @EndDate != ''
)
BEGIN
WITH a AS ( SELECT [CoursewareId] ,
[GroupGuid] ,
[ParentId] ,
[Version] ,
[CoursewareName] ,
[Description] ,
[IsPublish] ,
ec.[StatusId] ,
[CoursewareTypeId] ,
[VendorId] ,
ec.[PictureListId] ,
ec.[CreateUserId] ,
ec.[CreateDate] ,
ec.[ModifyUserId] ,
ec.[ModifyDate] ,
epl.URL ,
ROW_NUMBER() OVER ( ORDER BY ec.CreateDate DESC ) AS row_num
FROM [dbo].[E_Courseware] AS ec
JOIN dbo.E_PictureList AS epl ON ec.PictureListId = epl.PictureListId
WHERE ec.IsPublish = 0
AND ec.VendorId = @VendorId
AND ec.StatusId = 0
AND ec.CoursewareName LIKE '%'
+ @CoursewareName + '%'
AND ec.CreateDate BETWEEN @StartDate AND @EndDate
)
SELECT *
FROM a
WHERE row_num BETWEEN @StartIndex AND @EndIndex;
--record count
SELECT ISNULL(COUNT(ec.CoursewareId), 0) AS RecourdCount
FROM [dbo].[E_Courseware] AS ec
JOIN dbo.E_PictureList AS epl ON ec.PictureListId = epl.PictureListId
WHERE ec.IsPublish = 0
AND ec.VendorId = @VendorId
AND ec.StatusId = 0
AND ec.CoursewareName LIKE '%' + @CoursewareName + '%'
AND ec.CreateDate BETWEEN @StartDate AND @EndDate

END
ELSE
BEGIN
WITH a AS ( SELECT [CoursewareId] ,
[GroupGuid] ,
[ParentId] ,
[Version] ,
[CoursewareName] ,
[Description] ,
[IsPublish] ,
ec.[StatusId] ,
[CoursewareTypeId] ,
[VendorId] ,
ec.[PictureListId] ,
ec.[CreateUserId] ,
ec.[CreateDate] ,
ec.[ModifyUserId] ,
ec.[ModifyDate] ,
epl.URL ,
ROW_NUMBER() OVER ( ORDER BY ec.CreateDate DESC ) AS row_num
FROM [dbo].[E_Courseware] AS ec
JOIN dbo.E_PictureList AS epl ON ec.PictureListId = epl.PictureListId
WHERE ec.IsPublish = 0
AND ec.VendorId = @VendorId
AND ec.StatusId = 0
AND ec.CoursewareName LIKE '%'
+ @CoursewareName + '%'
)
SELECT *
FROM a
WHERE row_num BETWEEN @StartIndex AND @EndIndex;
--record count
SELECT ISNULL(COUNT(ec.CoursewareId), 0) AS RecourdCount
FROM [dbo].[E_Courseware] AS ec
JOIN dbo.E_PictureList AS epl ON ec.PictureListId = epl.PictureListId
WHERE ec.IsPublish = 0
AND ec.VendorId = @VendorId
AND ec.StatusId = 0
AND ec.CoursewareName LIKE '%' + @CoursewareName + '%';

END
END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值