Как получить первые n строк из таблицы, где значение n передается во время выполнения? - PullRequest
4 голосов
/ 14 февраля 2010

Как получить первые n строк из таблицы, в которой значение n передается во время выполнения?

Ответы [ 2 ]

4 голосов
/ 14 февраля 2010

В SQL Server 2005 и более поздних версиях вы можете параметризовать команду top.

Код ниже от MSDN

USE AdventureWorks;
GO
DECLARE @p AS int;
SELECT @p=10
SELECT TOP(@p)*
FROM HumanResources.Employee;
GO

В более ранних версиях SQL Server вам нужно будет использовать rowcount или динамический sql.

0 голосов
/ 14 февраля 2010

Вы можете использовать set rowcount. Чтобы получить первые 100, например:

declare @myrowcount = 100

set rowcount @myrowcount      
select ..... from ... where...order by

, так как вы можете использовать любой из:

SET ROWCOUNT {число | @number_var}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...