Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server ROWCOUNT_BIG()

Dans SQL Server, vous pouvez utiliser le ROWCOUNT_BIG() fonction système pour renvoyer le nombre de lignes affectées par la dernière instruction T-SQL.

Cela fonctionne exactement de la même manière que @@ROWCOUNT , sauf que ROWCOUNT_BIG() renvoie son résultat sous la forme d'un bigint .

Par conséquent, ROWCOUNT_BIG() est plus adapté aux ensembles de résultats qui renvoient un grand nombre de lignes (2 milliards ou plus).

C'est parce que @@ROWCOUNT renvoie son résultat sous la forme d'un int , qui a une limite supérieure d'un peu plus de 2 milliards (2 147 483 647 pour être exact).

En dehors de cela, il peut être utilisé exactement de la même manière que @@ROWCOUNT . Donc, si vous travaillez avec des ensembles de résultats très volumineux, utilisez ROWCOUNT_BIG() au lieu de @@ROWCOUNT .

Exemple

Voici un exemple pour montrer comment ROWCOUNT_BIG() fonctionne.

SELECT ArtistId, ArtistName 
FROM Artists;
SELECT ROWCOUNT_BIG();

Résultat :

+------------+------------------------+
| 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)