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
Sistema di Piattaforma Analitica (PDW)
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 e Piattaforma di strumenti analitici (PDW)
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';