webForumDet fria alternativet

Paging i stored procedure

.NET

7 svar · 395 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Om man ska köra med paging och hämtar datat med en stored procedure. Borde man inte skriva stored proceduren så att den endast hämtar det datat som ska visas på sidan?

Eller har jag fel?
Någon som har lust och droppa ett kodexempel??

Medlem sedan dec. 19996 522 inlägg
#2

mssql 2000? 2005 ?

Medlem sedan jan. 20013 406 inlägg
#3

Sorry 2005

Medlem sedan dec. 19996 522 inlägg
#4

Då kan du använda dig av ROW_NUMBER(), kolla på http://aspnet.4guysfromrolla.com/articles/031506-1.aspx

Medlem sedan jan. 20013 406 inlägg
#5

Tack.

Undra varför inte Microsoft tagit med limit som i mySQL.

Medlem sedan jan. 20012 204 inlägg
#6

är inte "LIMIT" i mysql samma som "TOP" i mssql?

Medlem sedan maj 20012 812 inlägg
#7

är inte "LIMIT" i mysql samma som "TOP" i mssql?

Nope, med top kan du bara begränsa hur många poster du vill ha ut från topen, du kan inte ta ut rad 10-20 utan endast de 10 första eller de 20 första.

- M

Medlem sedan jan. 200475 inlägg
#8

Så här löste jag lite custom paging

SELECT *
    FROM (
    SELECT TOP 11 *
    FROM foo, bar
    WHERE foo1 = bla
    AND foo2 > input_low_limit
    ORDER BY foobar ASC) as tmp
    ORDER BY foobar DESC
257 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)