Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwraca liczbę wierszy dotkniętych ostatnim zapytaniem. Jeśli liczba wierszy przekracza 2 miliardy, użyj ROWCOUNT_BIG.
Transact-SQL konwencje składni
Składnia
@@ROWCOUNT
Typy zwracane
int
Uwagi
Transact-SQL stwierdzenia mogą ustawiać wartość w @@ROWCOUNT w następujący sposób:
- Ustaw
@@ROWCOUNTliczbę wierszy objętych lub odczytanych. Wiersze mogą być wysyłane do klienta lub nie. - Zachowaj fragment
@@ROWCOUNTpoprzedniego oświadczenia. - Zresetuj
@@ROWCOUNTdo 0, ale nie zwracaj wartości do klienta.
Zdania tworzące proste przypisanie zawsze ustawiają @@ROWCOUNT wartość na .1 Do klienta nie są wysyłane żadne wiersze. Przykładami tych zdań są: SET @local_variable, RETURN, READTEXT, oraz select without query stacjonation, takimi jak SELECT GETDATE() lub SELECT '<Generic Text>'.
Instrukcje, które dokonują przypisania w zapytaniu lub używają RETURN w zapytaniu, ustawiają @@ROWCOUNT wartość na liczbę wierszy dotkniętych lub odczytanych przez zapytanie, na przykład: SELECT @local_variable = c1 FROM t1.
Instrukcje języka manipulacji danymi (DML) określają @@ROWCOUNT wartość do liczby wierszy dotkniętych zapytaniem i zwracają tę wartość klientowi. Oświadczenia DML mogą nie wysyłać żadnych wierszy do klienta.
DECLARE CURSORi FETCH ustaw @@ROWCOUNT wartość na .1
EXECUTE Zdania zachowują poprzednie @@ROWCOUNT.
Instrukcje takie jak USE, SET <option>, DEALLOCATE CURSOR, CLOSE CURSOR, PRINT, RAISERROR, BEGIN TRANSACTION, lub zresetowanie COMMIT TRANSACTIONROWCOUNT wartości do .0
Natywnie skompilowane procedury przechowywane zachowują poprzednie @@ROWCOUNT. Transact-SQL instrukcje wewnątrz natywnie skompilowanych procedur przechowywanych nie ustawiają @@ROWCOUNT. Aby uzyskać więcej informacji, zobacz Natywnie skompilowane procedury składowane.
Przykłady
Poniższy przykład wykonuje UPDATE polecenie i służy @@ROWCOUNT do wykrywania, czy zmieniono jakieś wiersze.
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO