日期:2014-05-17  浏览次数:20422 次

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)
------其他解决方案--------------------
什么意思?就是分页存储过程吗?超级多   自己问度娘
------其他解决方案--------------------
引用:
SQL Server 2000通用分页存储过程

sqlserver2005高效存储过程分页

SQL SERVER 2012分页示例

SQL SERVER 2000是用top 实现的分页。
SQL SERVER 2005/2008是用row_number()实现的分页。
SQL SERVER 2012 是用 OFFSET/FETCH NEXT实现的分页……


学习! 2012都玩上了。
------其他解决方案--------------------
引用:
--执行
select * from F_page(1)

这个怎么执行不了?