分页存储过程

USE [channel]
GO
/****** 对象:  StoredProcedure [dbo].[mst_sp_pageshow_new]    脚本日期: 05/14/2010 16:10:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROC [dbo].[mst_sp_pageshow_new]
    @qCols varchar(1000),                --需要查询的列
    @qTables   varchar(1000),       --需要查询的表
    @qWhere   varchar(1000),       --需要查询的条件
    @iKey         varchar (20),       --标识字段
    @oKey        varchar(100),        --排序字段
    @pageSize         int,                 --每页的行数
    @pageNumber       int                   --要显示的页码, 从0开始
AS
set nocount on
BEGIN
    DECLARE @sqlText AS varchar(2500)
    DECLARE @sqlTable AS varchar(2500)
    SET @sqlTable = 'SELECT TOP ' + STR((@pageNumber + 1) * @pageSize) + ' ' + @iKey +' from '+ @qTables + '  where ' + @qWhere + ' order by '+@oKey
    SET @sqlText =
        'SELECT TOP ' + STR(@pageSize) + ' ' + @qCols +
        ' FROM ' +  @qTables +
       '  WHERE ' + @iKey + ' NOT IN(SELECT TOP ' +
        STR(@pageNumber * @pageSize) + ' ' + @iKey +
        ' FROM (' + @sqlTable + ') AS tableB) AND '  + @qWhere + ' order by '+@oKey
  EXEC (@sqlText)
  print(@sqltext)
END


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值