Rowcount sql что это

SET ROWCOUNT (Transact-SQL)

Приводит к завершению обработки запроса SQL Server после возвращения указанного количества строк.

Rowcount sql что это. Смотреть фото Rowcount sql что это. Смотреть картинку Rowcount sql что это. Картинка про Rowcount sql что это. Фото Rowcount sql что этоСинтаксические обозначения в Transact-SQL

Синтаксис

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

number | @number_var
Количество строк, выраженное целым числом, которое необходимо обработать, перед завершением запроса.

Remarks

Использование инструкции SET ROWCOUNT не будет оказывать влияния на инструкции DELETE, INSERT и UPDATE в последующей версии SQL Server. При программировании избегайте использования инструкции SET ROWCOUNT с инструкциями DELETE, INSERT и UPDATE и постарайтесь внести изменения в приложения, которые используют ее в настоящее время. Для аналогичного поведения используйте синтаксис TOP. Дополнительные сведения см. в разделе TOP (Transact-SQL).

Для выключения этого параметра и возвращения всех строк, укажите SET ROWCOUNT 0.

Установка параметра ROWCOUNT приводит к тому, что большинство инструкций языка Transact-SQL прекращают обработку, если на них влияет указанное число строк. Это включает триггеры. Параметр ROWCOUNT не влияет на динамические курсоры, но ограничивает набор строк набора ключей и нечувствительных курсоров. Пользоваться этим параметром следует осторожно.

Инструкция SET ROWCOUNT переопределяет ключевое слово TOP инструкции SELECT, если параметр ROWCOUNT имеет меньшее значение.

Значение параметра ROWCOUNT устанавливается во время выполнения, а не во время синтаксического анализа.

Разрешения

Требуется членство в роли public.

Примеры

Теперь сделайте ROWCOUNT равным 4 и верните все строки, чтобы показать, что возвращается только 4 строки.

Примеры: Azure Synapse Analytics и Система платформы аналитики (PDW)

Чтобы вернуть все строки, установите для параметра ROWCOUNT значение 0.

Источник

@@ROWCOUNT (Transact-SQL)

Возвращает число строк, затронутых при выполнении последней инструкции. Если число строк превышает 2 миллиарда, используйте инструкцию ROWCOUNT_BIG.

Rowcount sql что это. Смотреть фото Rowcount sql что это. Смотреть картинку Rowcount sql что это. Картинка про Rowcount sql что это. Фото Rowcount sql что этоСинтаксические обозначения в Transact-SQL

Синтаксис

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Типы возвращаемых данных

Remarks

Инструкции Transact-SQL могут устанавливать значение в @@ROWCOUNT указанными ниже способами.

Установка значения @@ROWCOUNT в число считанных или измененных строк. Строки могут быть отосланы или не отосланы клиенту.

Сохранение значения @@ROWCOUNT из предыдущего выполнения инструкции.

Сброс значения @@ROWCOUNT в 0 без возврата значения клиенту.

Инструкции, которые выполняют простые присваивания, всегда устанавливают значение @@ROWCOUNT равным 1. Строки не отправляются клиенту. Примерами таких инструкций являются: SET @local_variable, RETURN, READTEXT и инструкции SELECT без запроса, такие как SELECT GETDATE() или SELECT Generic Text.

Инструкции, которые осуществляют присвоение в запросе или используют RETURN, устанавливают значение функции @@ROWCOUNT в число строк, задействованных или считанных запросом, например SELECT @локальная_переменная = c1 FROM t1.

Инструкции языка обработки данных DML задают значение @@ROWCOUNT равным числу строк, задействованных в запросе, и возвращают это значение клиенту. DML-инструкции могут не отправлять строки клиенту.

Инструкции DECLARE CURSOR и FETCH задают значение @@ROWCOUNT равным 1.

Инструкции EXECUTE сохраняют предыдущее значение @@ROWCOUNT.

Скомпилированные в собственном коде хранимые процедуры сохраняют предыдущее значение @@ROWCOUNT. Инструкции Transact-SQL, находящиеся внутри скомпилированных в собственном коде хранимых процедур, не устанавливают значение @@ROWCOUNT. Дополнительные сведения см. в статье Хранимые процедуры, скомпилированные в собственном коде.

Примеры

Следующий пример выполняет инструкцию UPDATE и использует @@ROWCOUNT для определения того, были ли изменены строки.

Источник

@@ROWCOUNT (Transact-SQL)

Returns the number of rows affected by the last statement. If the number of rows is more than 2 billion, use ROWCOUNT_BIG.

Rowcount sql что это. Смотреть фото Rowcount sql что это. Смотреть картинку Rowcount sql что это. Картинка про Rowcount sql что это. Фото Rowcount sql что этоTransact-SQL Syntax Conventions

Syntax

To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

Return Types

Remarks

Transact-SQL statements can set the value in @@ROWCOUNT in the following ways:

Set @@ROWCOUNT to the number of rows affected or read. Rows may or may not be sent to the client.

Preserve @@ROWCOUNT from the previous statement execution.

Reset @@ROWCOUNT to 0 but do not return the value to the client.

Statements that make a simple assignment always set the @@ROWCOUNT value to 1. No rows are sent to the client. Examples of these statements are: SET @local_variable, RETURN, READTEXT, and select without query statements such as SELECT GETDATE() or SELECT Generic Text.

Statements that make an assignment in a query or use RETURN in a query set the @@ROWCOUNT value to the number of rows affected or read by the query, for example: SELECT @local_variable = c1 FROM t1.

Data manipulation language (DML) statements set the @@ROWCOUNT value to the number of rows affected by the query and return that value to the client. The DML statements may not send any rows to the client.

DECLARE CURSOR and FETCH set the @@ROWCOUNT value to 1.

EXECUTE statements preserve the previous @@ROWCOUNT.

Natively compiled stored procedures preserve the previous @@ROWCOUNT. Transact-SQL statements inside natively compiled stored procedures do not set @@ROWCOUNT. For more information, see Natively Compiled Stored Procedures.

Examples

The following example executes an UPDATE statement and uses @@ROWCOUNT to detect if any rows were changed.

Источник

Как узнать число затронутых строк инструкцией SQL? Функция @@ROWCOUNT

Иногда у программиста, который разрабатывает SQL инструкцию или какую-нибудь процедуру, возникает необходимость узнать количество строк, например, которые он обновил инструкцией UPDATE или удалил с помощью инструкции DELETE, Microsoft SQL Server позволяет это сделать с помощью системной функции @@ROWCOUNT. Сегодня мы поговорим об этой функции, а также рассмотрим несколько примеров ее использования.

Rowcount sql что это. Смотреть фото Rowcount sql что это. Смотреть картинку Rowcount sql что это. Картинка про Rowcount sql что это. Фото Rowcount sql что это

Функция @@ROWCOUNT в языке T-SQL

@@ROWCOUNT – это системная функция в Microsoft SQL Server, которая возвращает количество затронутых строк при выполнении последней инструкции.

Возвращает значение с типом данных INT. В случае если Вы подразумеваете, что число измененных строк будет больше 2 миллиардов, то лучше использовать аналогичную функцию ROWCOUNT_BIG(), в этом случае тип возвращающего значения будет BIGINT.

Важные моменты при использовании @@ROWCOUNT:

Примечание! Перед тем как начать, начинающим хотелось бы порекомендовать несколько полезных материалов, которые помогут Вам в освоении языка T-SQL и в понимании всего того, что будет происходить ниже:

Создаем тестовые данные для примеров

Для того чтобы посмотреть, как работает функция @@ROWCOUNT, давайте создадим таблицу. К этой таблице мы и будем обращаться в наших тестовых запросах.

Примечание! Все примеры мы будем рассматривать в СУБД Microsoft SQL Server 2016 Express.

Примеры использования функции ROWCOUNT

Теперь можно переходить к рассмотрению примеров. Так как в нашей тестовой таблице еще нет данных, давайте добавим в нее строки и посмотрим, что нам вернет @@ROWCOUNT.

Пример 1. Использование ROWCOUNT после инструкции INSERT

Для примера давайте добавим 5 строк, а после сразу вызовем функцию @@ROWCOUNT.

Источник

Функция SQLRowCount

Соответствия
Представленная версия: соответствие стандартам ODBC 1,0: ISO 92

Сводка
SQLRowCount возвращает количество строк, затронутых инструкцией Update, INSERT или Delete ; Операция SQL_ADD, SQL_UPDATE_BY_BOOKMARK или SQL_DELETE_BY_BOOKMARK в SQLBulkOperations; или операция SQL_UPDATE или SQL_DELETE в SQLSetPos.

Синтаксис

Аргументы

статеменсандле
Входной Маркер инструкции.

Для других инструкций и функций драйвер может определить значение, возвращаемое в * RowCountPtr. Например, некоторые источники данных могут возвращать количество строк, возвращаемых инструкцией SELECT или функцией каталога, перед получением строк.

Многие источники данных не могут возвращать количество строк в результирующем наборе перед их получением; для обеспечения максимальной совместимости приложения не должны полагаться на такое поведение.

Возвращаемое значение

SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR или SQL_INVALID_HANDLE.

Диагностика

(DM) SQLExecute, SQLExecDirect или SQLMoreResults были вызваны для статеменсандле и возвращены SQL_PARAM_DATA_AVAILABLE. Эта функция была вызвана до получения данных для всех потоковых параметров.

(DM) функция была вызвана до вызова SQLExecute, SQLExecDirect, SQLBulkOperations или SQLSetPos для статеменсандле.

(DM) была вызвана асинхронно исполняемая функция для статеменсандле и все еще выполнялась при вызове этой функции.

Комментарии

если последняя инструкция SQL, выполненная в обработчике инструкции, не является инструкцией UPDATE, INSERT или DELETE или если аргумент операции в предыдущем вызове SQLBulkOperations не был SQL_ADD, SQL_UPDATE_BY_BOOKMARK или SQL_DELETE_BY_BOOKMARK или если аргумент операции в предыдущем вызове функции SQLSetPos не был SQL_UPDATE или SQL_DELETE, значение *RowCountPtr определяется драйвером. Дополнительные сведения см. в разделе Определение количества затронутых строк.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *