Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
Restituisce il numero di righe modificate dall'ultima istruzione. Se il numero di righe è superiore a 2 miliardi, usare ROWCOUNT_BIG.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
@@ROWCOUNT
Tipi restituiti
int
Osservazioni:
Le istruzioni Transact-SQL possono impostare il valore in @@ROWCOUNT nei modi seguenti:
- Impostare
@@ROWCOUNTsul numero di righe interessate o lette. Le righe potrebbero o non essere inviate al client. - Mantenere
@@ROWCOUNTdall'esecuzione dell'istruzione precedente. - Reimpostare
@@ROWCOUNTsu 0 ma non restituire il valore al client.
Le istruzioni che rendono un'assegnazione semplice impostano sempre il @@ROWCOUNT valore su 1. Non vengono inviate righe al client. Esempi di queste istruzioni sono: SET @local_variable, RETURN, READTEXTe selezionare senza istruzioni di query, SELECT GETDATE() ad esempio o SELECT '<Generic Text>'.
Le istruzioni che eseguono un'assegnazione in una query o usano RETURN in una query impostano il @@ROWCOUNT valore sul numero di righe interessate o lette dalla query, ad esempio : SELECT @local_variable = c1 FROM t1.
Le istruzioni DML (Data Manipulation Language) impostano il @@ROWCOUNT valore sul numero di righe interessate dalla query e restituiscono tale valore al client. Le istruzioni DML potrebbero non inviare righe al client.
DECLARE CURSOR e FETCH impostare il @@ROWCOUNT valore su 1.
EXECUTE le istruzioni mantengono l'oggetto precedente @@ROWCOUNT.
Istruzioni come USE, SET <option>DEALLOCATE CURSOR, CLOSE CURSORPRINTRAISERROR, BEGIN TRANSACTIONo COMMIT TRANSACTION reimpostare il ROWCOUNT valore su .0
Le stored procedure compilate in modo nativo mantengono l'oggetto precedente @@ROWCOUNT. Le istruzioni Transact-SQL all'interno di stored procedure compilate in modo nativo non impostano @@ROWCOUNT. Per altre informazioni, vedere Natively Compiled Stored Procedures (Stored procedure compilate in modo nativo).
Esempi
Nell'esempio seguente viene eseguita un'istruzione UPDATE e viene utilizzato @@ROWCOUNT per rilevare se sono state modificate righe.
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO