Op dinsdag 30 april 2002 12:57 schreef boriz het volgende:
Nu begrijp ik nog steeds niet hoe ik bijvoorbeeld regel 10 t/m 20 selecteer met deze voorwaareden.
tsql="select * from bla where naam like 'b%'"
top limit en set rowcount werkt allemaal NIET
Oh, je wilt het 2e deel etc ?
Dit is al vaker aan de orde geweest.
Gebruik stored procedure die:
1) Creeert temptable met zelfde layout als de resultset met 1 keyfield: een identity column
2) stop de resultset in die temptable.
3) doe een select op de temptable waarbij je de resultaten selecteert die je wilt.
4) return die results.
1 en 2 kun je combineren in 1 SELECT INTO statement. 3 en 4 kun je combineren in 1 SELECT * statement.
De temptable kun je cachen door die eerst te creeeren op de connection en die open te houden totdat je klaar bent. Zolang de connection open blijft blijft de temptable bestaan en hoef je alleen de select * statement op de identity column uit te voeren.
----
Over top/ rowcount:
The SET ROWCOUNT limit applies to building the rows in the result set after an ORDER BY is evaluated. When ORDER BY is specified, the SELECT statement is terminated when n rows have been selected from a set of values that has been sorted according to specified ORDER BY classification.
The TOP clause applies to the single SELECT statement in which it is specified. SET ROWCOUNT remains in effect until another SET ROWCOUNT statement is executed, such as SET ROWCOUNT 0 to turn the option off.