Sql server Sql server-处理新数据?
摇滚乐队目前有100首歌曲:Sql server Sql server-处理新数据?,sql-server,sql-server-2008-r2,Sql Server,Sql Server 2008 R2,摇滚乐队目前有100首歌曲: select count(songName) from bands where name='Beatles' 结果:100 我每次通过分页在我的应用程序中显示这些歌曲-10个结果 如何获取相关页面及其行 像这样:SP declare @pageItems int=10 declare @pagenum int=1 select * from ( SELECT [id] , row_number() over ( order by songName) a
select count(songName) from bands where name='Beatles'
结果:100
我每次通过分页在我的应用程序中显示这些歌曲-10个结果
如何获取相关页面及其行
像这样:SP
declare @pageItems int=10
declare @pagenum int=1
select * from (
SELECT [id] , row_number() over ( order by songName) as n
FROM Bands where name='Beatles'
) a
where a.n > (@pagenum-1)*@pageItems and a.n<= (@pagenum)*@pageItems
但有一个问题
假设一个用户在第3页
披头士乐队发表了一首新歌,名为:aaa
因此,现在会出现不匹配,因为有一个新行插入到顶部,并将所有行推到下面
我不想把所有的行都放到我的应用程序中
正确的方式/功能是什么?要获得第一个标准结果
我可以使用临时表,但它仅适用于当前连接。每次用户在分页时按“下一步”,这是一个新会话。这是分页中的一个常见问题,无论是否调整以适应移动的数据。通常,您的用户不会注意到或在意分页过程中记录总数的变化,或者如果由于添加了新记录,第2页底部的记录突然变为第3页顶部的记录。但是,如果你真的需要一致性,那么如果数据集足够小,你可以将整个PK列表缓存在临时表或你的应用程序内存中,然后在抓取时加入其中
->你说“会出现不匹配”是什么意思?