Como posso ter uma variável dinâmica definindo a quantidade de linhas a retornar no SQL Server? Abaixo não há sintaxe válida no SQL Server 2005+:
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
sql
sql-server-2005
eddiegroves
fonte
fonte
Respostas:
Isso funcionará apenas com o SQL 2005+
fonte
A sintaxe "selecione superior (@var) ..." funciona apenas no SQL SERVER 2005+. Para o SQL 2000, você pode fazer:
Espero que isto ajude
Oisin.
(editado para substituir @@ rowcount por rowcount - obrigado augustlights)
fonte
No exemplo de x0n, deve ser:
http://msdn.microsoft.com/en-us/library/ms188774.aspx
fonte
Também é possível usar SQL dinâmico e executá-lo com o comando exec:
fonte
Ou você apenas coloca a variável entre parênteses
fonte
fonte