Как я могу иметь динамическую переменную, устанавливающую количество строк, возвращаемых в SQL Server? Ниже недопустимый синтаксис в SQL Server 2005+:
DECLARE @count int
SET @count = 20
SELECT TOP @count * FROM SomeTable
sql
sql-server-2005
eddiegroves
источник
источник
Ответы:
Это будет работать только с SQL 2005+
источник
Синтаксис «select top (@var) ...» работает только в SQL SERVER 2005+. Для SQL 2000 вы можете сделать:
Надеюсь это поможет
Oisin.
(отредактировано для замены @@ rowcount на rowcount - спасибо augustlights)
источник
В примере x0n это должно быть:
http://msdn.microsoft.com/en-us/library/ms188774.aspx
источник
Также возможно использовать динамический SQL и выполнить его с помощью команды exec:
источник
Или вы просто поместите переменную в скобках
источник
источник