SQL Server : TOP dynamique, ancienne et nouvelle méthode
Il est possible de ne renvoyer qu'un nombre limité d'enregistrement dans une requête. Cela est possible directement via la clause TOP depuis SQL Server 2005 et à condition de mettre les parenthèses qui deviennent obligatoire dans la syntaxe :
DECLARE @count int
SET @count = 5
SELECT
TOP(@count)
* FROM dbo.MaTable
Il existe toujours, bien que cette méthode soit annoncée comme retiré d'une prochaine version, la possibilité de le faire via SET ROWCOUNT :
DECLARE @count int
SET @count = 5
SET
ROWCOUNT @count
SELECT
*
FROM dbo.MaTable
Et on pense à remettre à 0 (réinitialise et renvoie toutes les lignes) après usage car ce SET s'applique à toutes les requêtes.
SET
ROWCOUNT 0
Cette seconde méthode présente l'avantage de fonctionner sur les versions précédent SQL Server 2005. Dans tous les cas vous éviterez ainsi l'utilisation du SQL Dynamique.
Bonne sélection…
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :