create procedure GetGoodsInfoByPageNumber
(
@provideID int,
@pageNumber int,
@GoodsCountOfOnePage float,
@howManyGoods int output,
@howManyPage int output )
as
declare @Goods table
(
RowNumber int,
GoodsId int,
GoodsName varchar(50),
GoodsDescribe varchar(200),
PhotoName varchar(200),
SkuId int,
Price money,
MarketPrice money,
SkuStirng varchar(200)
)
insert into @Goods
select ROW_NUMBER() over (order by Goods.GoodsId),
GoodsId,GoodsName,GoodsDescribe,PhotoName,SkuId,Price,MarketPrice,SkuStirng from Goods,Photos,Sku where Goods.GoodsId in (select GoodsId from Goods where Goods.ProvideCateId = @provideID) and Photos.ProvideGoodsId = Goods.GoodsId and Photos.FatherPhotoId is null and Photos.PhotoIdentity = 1 and Sku.ProvideGoodsId = Goods.GoodsId and Sku.SkuIdentity = 1
----给输出参数赋值
select @howManyGoods = COUNT(GoodsId) from @Goods
select @howManyPage = Ceiling(@howManyGoods / @GoodsCountOfOnePage) select GoodsId,GoodsName,GoodsDescribe,PhotoName,SkuId,Price,MarketPrice,SkuStirng from @Goods
where RowNumber > (@pageNumber - 1) * @GoodsCountOfOnePage
and RowNumber <= @pageNumber * @GoodsCountOfOnePage
go use Daisha
declare @howManyGoods int
declare @howManyPage int
exec GetGoodsInfoByPageNumber 10,4,5,@howManyGoods out,@howManyPage out
select @howManyGoods as 商品总数
select @howManyPage as 共几页 -----select * from Goods where GoodsId = 177
-----select * from Photos where Photos.ProvideGoodsId = 177