create proc sp_gb_select_for_pages
@startpage int=1,
@pagesize int=10,
@pagecount int output
as
set nocount on
if(@startpage>0)
set @startpage=(@startpage-1)*@pagesizeselect @pagecount=count(*) from bookinfo
select top (@pagesize) *
from bookinfo
where id not in
(
select top (@startpage) id
from bookinfo
order by id desc
)order by id desc
return
@startpage int=1,
@pagesize int=10,
@pagecount int output
as
set nocount on
if(@startpage>0)
set @startpage=(@startpage-1)*@pagesizeselect @pagecount=count(*) from bookinfo
select top (@pagesize) *
from bookinfo
where id not in
(
select top (@startpage) id
from bookinfo
order by id desc
)order by id desc
return
select top (@pagesize) *
top不能传递变量
直接改成10就正确了
要用动态SQL
declare @sql nvarchar(2000)
set sql = "select top " +@pagesize+ " * from bookinfo
where id not in
(
select top "+@startpage+ " id from bookinfo
order by id desc
) exec (@sql)
from bookinfo
order by id desc
这样用,要改为动态...