SQL Server ne devrait-il pas prendre en charge RANGE?

9

En tant que personne qui développe des sites Web et fait un peu de SQL Server, il me semble évident que SQL Server devrait prendre en charge une clause simple qui indique que les résultats ne devraient inclure qu'une plage spécifique de lignes. Par exemple, les lignes 30 à 39.

Dans l'état actuel des choses, l'implémentation de la pagination dans SQL Server dépasse un peu la capacité de nombreux développeurs Web lorsque leur objectif principal n'est pas SQL.

En outre, cela simplifierait considérablement les requêtes qui peuvent déjà être complexes en raison de jointures et d'autres conditions.

En plus de cela, je suis d'avis qu'une telle clause pourrait avoir de meilleures chances d'être optimisée en interne au fil du temps car la logique serait entièrement sous le contrôle de Microsoft.

J'ai soulevé cette question il y a quelque temps dans un autre forum et de nombreuses réponses semblaient suggérer que cela ne serait pas souhaitable.

Étant donné que les techniques de radiomessagerie existantes resteraient intactes, quelle pourrait être la raison de ne pas ajouter une telle clause? Et ce serait tellement mieux pour des gens comme moi.

Quelqu'un peut-il une bonne raison pour laquelle Microsoft n'a pas fait cela?

Jonathan Wood
la source

Réponses:

9

Microsoft l'a fait avec la prochaine version de SQL Server, nom de code "Denali", ainsi que SQL CE 4. Consultez les parties OFFSET & FETCH de la clause ORDER BY ici: http://msdn.microsoft.com/en- us / library / ms188385 (v = sql.110) .aspx

Eric Humphrey - lotsahelp
la source
Eh bien, ce n'est pas aussi simple que je l'imaginais mais je vais le prendre! Et je suis très heureux d'apprendre que je ne suis pas la seule personne à admettre que cela en vaut la peine. J'attends avec impatience l'arrivée de la prochaine version! Merci.
Jonathan Wood