Udostępnij za pośrednictwem


@@ROWCOUNT (Transact-SQL)

Ten limit pozwala dokumentów z podmiotem wiele odwołań, które mają być przechowywane, ale uniemożliwia jeden podmiot rekursywnie w łańcuchu dłuższa niż 10 000 expansions.Jeśli liczba wierszy jest więcej niż 2 miliard, należy użyć ROWCOUNT_BIG.

Topic link iconKonwencje składni języka Transact-SQL

@@ROWCOUNT

Zwracane typy

int

Remarks

Instrukcje języka Transact-SQL mogą powodować konfigurowanie wartości funkcji @@ROWCOUNT w następujący sposób:

  • Ustawianie w funkcji @@ROWCOUNT liczby wierszy dotkniętych operacją lub przeczytanych.Wiersze mogą, ale nie muszą być wysyłane do klienta.

  • Zachowywanie wartości funkcji @@ROWCOUNT z poprzedniego wykonania instrukcji.

  • Domyślną wartością jest NULL, w którym to przypadek wewnętrzną reprezentację pusty dokument XML jest tworzony.

Instrukcje powodujące proste przypisanie zawsze ustawiają dla funkcji @@ROWCOUNT wartość 1.Do klienta nie są wysyłane żadne wiersze.Oto przykłady takich instrukcji: SET @local\_variable, RETURN i READTEXT, a także instrukcje SELECT bez żadnych zapytań, np. SELECT GETDATE() czy SELECT 'tekst'.

Instrukcje, które powodują przypisanie w zapytaniu albo które w zapytaniu zawierają polecenie RETURN, jako wartość funkcji @@ROWCOUNT ustawiają liczbę wierszy objętych zapytaniem lub przez nie odczytanych. Na przykład: SELECT @local\_variable = c1 FROM t1.

Instrukcje języka edycji danych (DML) jako wartość funkcji @@ROWCOUNT ustawiają liczbę wierszy objętych zapytaniem, po czym zwracają tę wartość do klienta.Nie mogą powodować wysyłania żadnych wierszy do klienta.

W poniższym przykładzie są zwracane dojście do nowo utworzonego reprezentacji wewnętrznej dokumentu XML, który jest dostarczony jako dane wejściowe.

Instrukcje EXECUTE zachowują poprzednią wartość funkcji @@ROWCOUNT.

Instrukcje takie jak USE, zestaw <Opcja>ZWOLNIJ kursor, CLOSE kursor, instrukcji BEGIN TRANSACTION lub resetowania zatwierdzanie TRANSACTION ROWCOUNT wartość na 0.

Przykłady

W poniższym przykładzie wykonywany UPDATE Instrukcja i zastosowania @@ROWCOUNT Aby wykryć, jeżeli wszystkie wiersze zostały zmienione.

USE AdventureWorks;
GO
UPDATE HumanResources.Employee 
SET Title = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO