Comment puis-je avoir une variable dynamique définissant la quantité de lignes à retourner dans SQL Server? La syntaxe ci-dessous n'est pas valide dans SQL Server 2005+:
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
sql
sql-server-2005
eddiegroves
la source
la source
Réponses:
Cela ne fonctionnera qu'avec SQL 2005+
la source
La syntaxe "select top (@var) ..." ne fonctionne que dans SQL SERVER 2005+. Pour SQL 2000, vous pouvez faire:
J'espère que cela t'aides
Oisin.
(modifié pour remplacer @@ rowcount par rowcount - merci augustlights)
la source
Dans l'exemple de x0n, il devrait être:
http://msdn.microsoft.com/en-us/library/ms188774.aspx
la source
Il est également possible d'utiliser du SQL dynamique et de l'exécuter avec la commande exec:
la source
Ou vous mettez simplement la variable entre parenthèses
la source
la source