В SQL Server можете да използвате ROWCOUNT_BIG()
системна функция за връщане на броя на редовете, засегнати от последния израз на T-SQL.
Работи точно по същия начин като @@ROWCOUNT
, с изключение на това ROWCOUNT_BIG()
връща резултата си като голям .
Следователно, ROWCOUNT_BIG()
е по-подходящ за набори от резултати, които връщат голям брой редове (2 милиарда или повече).
Това е така, защото @@ROWCOUNT
връща резултата си като int , което има горна граница от малко над 2 милиарда (2 147 483 647, за да бъдем точни).
Освен това, той може да се използва по абсолютно същия начин като @@ROWCOUNT
. Така че, ако работите със сериозно големи набори от резултати, използвайте ROWCOUNT_BIG()
вместо @@ROWCOUNT
.
Пример
Ето пример, за да демонстрирате как ROWCOUNT_BIG()
работи.
SELECT ArtistId, ArtistName
FROM Artists;
SELECT ROWCOUNT_BIG();
Резултат:
+------------+------------------------+ | 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)