W SQL Server możesz użyć ROWCOUNT_BIG()
funkcja systemowa do zwrócenia liczby wierszy, na które miała wpływ ostatnia instrukcja T-SQL.
Działa dokładnie tak samo jak @@ROWCOUNT
, z wyjątkiem tego, że ROWCOUNT_BIG()
zwraca swój wynik jako bigin .
Dlatego ROWCOUNT_BIG()
jest bardziej odpowiedni dla zestawów wyników, które zwracają dużą liczbę wierszy (2 miliardy lub więcej).
Dzieje się tak, ponieważ @@ROWCOUNT
zwraca swój wynik jako int , którego górna granica wynosi nieco ponad 2 miliardy (dokładnie 2 147 483 647).
Poza tym może być używany dokładnie w taki sam sposób jak @@ROWCOUNT
. Więc jeśli pracujesz z naprawdę dużymi zestawami wyników, użyj ROWCOUNT_BIG()
zamiast @@ROWCOUNT
.
Przykład
Oto przykład pokazujący, jak ROWCOUNT_BIG()
działa.
SELECT ArtistId, ArtistName
FROM Artists;
SELECT ROWCOUNT_BIG();
Wynik:
+------------+------------------------+ | ArtistId | ArtistName | |------------+------------------------| | 1 | Iron Maiden | | 2 | AC/DC | | 3 | Allan Holdsworth | | 4 | Buddy Rich | | 5 | Devin Townsend | | 6 | Jim Reeves | | 7 | Tom Jones | | 8 | Maroon 5 | | 9 | The Script | | 10 | Lit | | 11 | Black Sabbath | | 12 | Michael Learns to Rock | | 13 | Carabao | | 14 | Karnivool | | 15 | Birds of Tokyo | | 16 | Bodyjar | +------------+------------------------+ (16 rows affected) +--------------------+ | (No column name) | |--------------------| | 16 | +--------------------+ (1 row affected)