Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server ROWCOUNT_BIG()

In SQL Server puoi utilizzare ROWCOUNT_BIG() funzione di sistema per restituire il numero di righe interessate dall'ultima istruzione T-SQL.

Funziona esattamente come @@ROWCOUNT , tranne che ROWCOUNT_BIG() restituisce il risultato come bigint .

Pertanto, ROWCOUNT_BIG() è più adatto ai set di risultati che restituiscono un numero elevato di righe (2 miliardi o più).

Questo perché @@ROWCOUNT restituisce il risultato come int , che ha un limite massimo di poco più di 2 miliardi (2.147.483.647 per l'esattezza).

A parte questo, può essere utilizzato esattamente allo stesso modo di @@ROWCOUNT . Quindi, se stai lavorando con set di risultati molto grandi, usa ROWCOUNT_BIG() invece di @@ROWCOUNT .

Esempio

Ecco un esempio per dimostrare come ROWCOUNT_BIG() funziona.

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

Risultato:

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