Maison > base de données > tutoriel mysql > Comment puis-je simuler la clause LIMIT dans Microsoft SQL Server 2000 sans ROW_NUMBER() ?

Comment puis-je simuler la clause LIMIT dans Microsoft SQL Server 2000 sans ROW_NUMBER() ?

Linda Hamilton
Libérer: 2025-01-08 07:14:41
original
886 Les gens l'ont consulté

How Can I Simulate the LIMIT Clause in Microsoft SQL Server 2000 Without ROW_NUMBER()?

Solutions de contournement pour la clause LIMIT dans les anciennes versions de Microsoft SQL Server

Microsoft SQL Server 2000 ne disposait pas de la fonction ROW_NUMBER(), ce qui rendait difficile la réplication de la fonctionnalité de la clause LIMIT trouvée dans des bases de données comme MySQL. Plusieurs méthodes existent, chacune présentant des inconvénients.

Les requêtes imbriquées utilisant TOP sont une approche courante. Cependant, cette méthode échoue lorsque la plage souhaitée dépasse le nombre total de lignes, provoquant des erreurs de pagination, notamment sur la « page » finale

Une autre technique repose sur une colonne unique au sein du tableau. Ceci est intrinsèquement limité, car cela dépend de l'existence d'un identifiant unique approprié.

Pour SQL Server 2005 et versions ultérieures, l'instruction EXCEPT offre une solution plus robuste. Cela implique de combiner des requêtes imbriquées avec l'opérateur EXCEPT pour filtrer les lignes initiales, obtenant ainsi efficacement le sous-ensemble souhaité.

Exemple illustratif : Pour récupérer les lignes 50 à 75 :

<code class="language-sql">SELECT * FROM (
    SELECT TOP 75 COL1, COL2
    FROM MYTABLE ORDER BY COL3
) AS foo
EXCEPT
SELECT * FROM (
    SELECT TOP 50 COL1, COL2
    FROM MYTABLE ORDER BY COL3
) AS bar;</code>
Copier après la connexion

En résumé, bien qu'il existe des solutions de contournement pour imiter LIMIT dans SQL Server 2000, aucune ne reproduit parfaitement son comportement sans compromis ni recours à des fonctionnalités supplémentaires. Pour les versions prenant en charge ROW_NUMBER() (SQL Server 2005 et versions ultérieures), l'utilisation de cette fonction est la méthode recommandée et la plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal