@@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.
@@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
See Also