SQL server 的具体问题,求答案和讲解~谢过~~(新人) sql server中用存储过程实现一下数据视图的分页函数,假设每页显示10行。
ID Name
2 Bod
1 Barry
9 Tina
------最佳解决方案-------------------- create function F_page(@page int)
returns @tb table(id int,name varchar(20))
as
begin
insert into @tb
select id,name
from (
select id,name,ceiling(ROW_NUMBER() over(order by id)/10.0) as page from Tablename) as a
where page=@page
return;
end ------其他解决方案--------------------
create PROCEDURE getPersonInfo
-- Add the parameters for the stored procedure here
(
@currentpage int
)
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 10 * FROM PersonInfo WHERE id> ANY (select TOP (10*(@currentPage-1)) id FROM PersonInfo ORDER BY id)
END
------其他解决方案-------------------- SQL Server 2000通用分页存储过程
sqlserver2005高效存储过程分页
SQL SERVER 2012分页示例
SQL SERVER 2000是用top 实现的分页。
SQL SERVER 2005/2008是用row_number()实现的分页。
SQL SERVER 2012 是用 OFFSET/FETCH NEXT实现的分页。 ------其他解决方案-------------------- --执行
select * from F_page(1) ------其他解决方案-------------------- 什么意思?就是分页存储过程吗?超级多 自己问度娘 ------其他解决方案--------------------