CREATE procedure fy
@rows int ,
@pages int
as
declare @stra varchar(300) --如果数据类型的长度不够,那么存储过程将不会执行.(造成空格的丢失,)
declare @strb varchar(300)
declare @strc varchar(300)
declare @strd varchar(300)
set @stra=' select top '+cast(@rows as varchar(10))+' * from people where [id] > '
set @strb=' (select max([id]) from (select top '+cast((@rows*(@pages-1)) as varchar(10))+' [id] from people order by [id] asc) a) '
set @strc=' order by [id] asc '
set @strd=' select top '+cast(@rows as varchar(10))+' * from people '
if @pages=1
begin
exec(@strd)
end
else
begin
exec(@stra+@strb+@strc)
end
GO