Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
Аналитическая платформа (PDW)
SQL база данных в Microsoft Fabric
Приводит к завершению обработки запроса в SQL Server после возвращения указанного количества строк.
Соглашения о синтаксисе Transact-SQL
Синтаксис
SET ROWCOUNT { number | @number_var }
Аргументы
число | @number_var
Количество строк, выраженное целым числом, которое необходимо обработать, перед завершением запроса.
Замечания
Внимание
Использование SETSET ROWCOUNT не повлияет DELETEна операторы , INSERT, и UPDATE в будущей версии SQL Server. Избегайте использования SETSET ROWCOUNT с DELETE, INSERTи UPDATE операторов в новых проектах разработки и планируйте изменять приложения, которые их используют в данный момент. Для аналогичного поведения используйте синтаксис TOP. Дополнительные сведения см. в разделе TOP (Transact-SQL).
Чтобы отключить эту опцию так, чтобы все строки возвращались, укажите SET ROWCOUNT 0.
Установка SET ROWCOUNT этой опции приводит к тому, что большинство операторов Transact-SQL останавливают обработку, если на них повлияло заданное количество строк. Это включает триггеры. Эта ROWCOUNT опция не влияет на динамические курсоры, но ограничивает набор рядов ключевых и нечувствительных курсоров. Пользоваться этим параметром следует осторожно.
SET ROWCOUNT переопределяет ключевое слово SELECT оператора TOP, если количество строк меньшее значение.
Параметр SET ROWCOUNT устанавливается во время выполнения или выполнения, а не во время синтаксического анализа.
Разрешения
Требуется членство в роли public.
Примеры
SET ROWCOUNT обработка прекращается после указанного количества строк. В следующем примере обратите внимание на то, что более 500 строк удовлетворяют условию: значение столбца Quantity меньше 300. Однако после подачи заявки SET ROWCOUNTвидно, что не все строки были возвращены.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Вот результирующий набор.
Count
-----------
537
(1 row(s) affected)
Теперь сделайте ROWCOUNT равным 4 и верните все строки, чтобы показать, что возвращается только 4 строки.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
SET ROWCOUNT обработка прекращается после указанного количества строк. Обратите внимание, что в следующем примере больше 20 строк удовлетворяют условию AccountType = 'Assets'. Однако после подачи заявки SET ROWCOUNTвидно, что не все строки были возвращены.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Чтобы вернуть все строки, установите ROWCOUNT на 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';