主键列分页的动态存储过程

USE [Northwind]

GO

 

/****** Object:  StoredProcedure [dbo].[SP_PageIndex]    Script Date: 01/13/2014 23:22:34 ******/

SET ANSI_NULLS ON

GO

 

SET QUOTED_IDENTIFIER ON

GO

 

CREATE proc  [dbo].[SP_PageIndex]

@DBname    nvarchar(50),--库名

@tablename nvarchar(50),--表名

@Tid       nvarchar(50),--主键列

@PageSiz   int,         --每页多少条数据

@Page      int          --当前页

as

declare

@sql nvarchar(1000)--sql语句

begin

  set

   @sql='select top '+convert(nvarchar(50),@PageSiz)+'

   *

  from  '+convert(nvarchar(50),@DBname)+'.dbo.'+CAST(@tablename as nvarchar(50))+'

  where '+@Tid+' 

  not in

  (

   select top '+convert(nvarchar(50),(@PageSiz*@Page))+'

   '+@Tid+'

   from

   '+convert(nvarchar(50),@DBname)+'.dbo.'+CAST(@tablename as nvarchar(50))+'

   order by '+@Tid+'

  )

  order by '+@Tid+''

  exec(@sql)

end

 

GO

 

--------------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------以sql2008自带notthwind为例子-----------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------------

---------执行     exec SP_PageIndex  Northwind,Employees,EmployeeID,2,3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值