CREATE PROCEDURE paged
(
@cur int
)
as
if '+@cur+'=1select top 2 * from shoplist order by id descelseselect top 2 * from shoplist where id not in(select top 2*(@cur-1) id from shoplist order by id desc)
GO
(
@cur int
)
as
if '+@cur+'=1select top 2 * from shoplist order by id descelseselect top 2 * from shoplist where id not in(select top 2*(@cur-1) id from shoplist order by id desc)
GO
(
@cur int
)
as
if(@cur=1)
select top 2 * from shoplist order by id desc else select top 2 * from shoplist where id not in(select top 2*(@cur-1) id from shoplist order by id desc) 还有,去查一下in/not in的使用,再改一下就可以
(
@cur int
)
as
if(@cur=1)
begin
select top 2 * from shoplist order by id desc
end
else
begin select top 2 * from shoplist where id not in(select top 2*(@cur-1) id from shoplist order by id desc)
end
go
--Top后面不可以直接跟变量,用动态SQLCREATE PROCEDURE paged
(
@cur int
)
as
declare @top int
declare @sql nvarchar(4000)
if(@cur=1)
begin
set @top=2
set @sql='select top 2 * from shoplist order by id desc '
end
else
begin
set @top=2*(@cur-1)
set @sql='select top 2 * from shoplist where id not in
(select top '+cast(@top as nvarchar(20)) +' id from shoplist order by id desc) '
end
exec sp_executesql @sql
Go