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 Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Database SQL in Microsoft Fabric
Provoca l'arresto dell'elaborazione della query in SQL Server dopo che è stato restituito il numero di righe specificato.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
SET ROWCOUNT { number | @number_var }
Argomenti
numero | @number_var
Numero intero di righe da elaborare prima dell'arresto della query specifica.
Osservazioni:
Importante
L'uso SETSET ROWCOUNT non influenzerà DELETE, INSERT, e UPDATE le istruzioni in una futura release di SQL Server. Evita di usare SETSET ROWCOUNT istruzioni con DELETE, INSERT, e UPDATE nelle nuove attività di sviluppo e pianifica di modificare le applicazioni che lo utilizzano attualmente. Per un comportamento simile, utilizzare la sintassi TOP. Per altre informazioni, vedere TOP (Transact-SQL).
Per attivare questa opzione in modo che tutte le righe vengano restituite, specifica SET ROWCOUNT 0.
Impostare l'opzione SET ROWCOUNT fa sì che la maggior parte delle istruzioni Transact-SQL si interrompa l'elaborazione quando sono state influenzate dal numero specificato di righe. Sono inclusi i trigger. L'opzione ROWCOUNT non influisce sui cursori dinamici, ma limita il set di righe di keyset e cursori insensibili. Utilizzare questa opzione con cautela.
SET ROWCOUNT sovrascrive la parola chiave SELECT TOP se il numero di righe è il valore più piccolo.
L'impostazione di viene impostata in fase di SET ROWCOUNT esecuzione o in fase di esecuzione e non in fase di analisi.
Autorizzazioni
È richiesta l'appartenenza al ruolo public.
Esempi
SET ROWCOUNT interrompe l'elaborazione dopo il numero specificato di righe. Nell'esempio seguente si noti come oltre 500 righe soddisfino i criteri di Quantity minore di 300. Tuttavia, dopo aver fatto domanda SET ROWCOUNT, puoi vedere che non tutte le righe sono state restituite.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Il set di risultati è il seguente.
Count
-----------
537
(1 row(s) affected)
Impostare quindi ROWCOUNT su 4 e restituire tutte le righe per dimostrare come vengano restituite solo 4 righe.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Esempi: Azure Synapse Analytics
SET ROWCOUNT interrompe l'elaborazione dopo il numero specificato di righe. Nell'esempio seguente più di 20 righe soddisfano il criterio AccountType = 'Assets'. Tuttavia, dopo aver fatto domanda SET ROWCOUNT, puoi vedere che non tutte le righe sono state restituite.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Per restituire tutte le righe, imposta ROWCOUNT a 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';