sqlserver简单分页

-- 1.T-SQL找30-40条记录,静态分页
select top 11 * from stuinfo where sid not in
(select top 29 sid from stuinfo)

--2.变量动态分页
declare @sql varchar(4000),@n int,@table varchar(20)
set @table='stuinfo'
set @n=2
set @sql='select top 5 * from '+@table+' where sid not in
(select top '+convert(varchar(20),(@n-1)*5)+' sid from '+@table+')'
select @sql

exec(@sql)

----3.存储过程分页  注意拼接时 INT 转换 
alter procedure fenye
@table varchar(20), --表名
@id varchar(20), --主键
@n int=3,    --查询记录
@i int=10 --一页显示10行
as
declare @sql varchar(200)
set @sql='select top '+convert(varchar(20),@i)+' * from '+@table+' where '+@id+' not in
(select top '+convert(varchar(20),(@n-1)*5)+' '+@id+' from '+@table+')'
select @sql
exec(@sql)
GO
select * from stuinfo
exec fenye stuinfo,sid,2,10
--取stuinfo表中sid主键列的, 2代表从6行记录查询,10条记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值