Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

SET ROWCOUNT (Transact-SQL)

Provoca l'arresto dell'elaborazione della query in SQL Server dopo che è stato restituito il numero di righe specificato.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

SET ROWCOUNT { number | @number_var } 
number | @number_var

Numero di righe, valore intero, che si desidera elaborare prima dell'arresto della query specificata.

Nota importante Importante

L'utilizzo di SET ROWCOUNT non avrà effetto sulle istruzioni DELETE, INSERT e UPDATE nella prossima versione di SQL Server. Evitare di utilizzare l'opzione SET ROWCOUNT con le istruzioni DELETE, INSERT e UPDATE in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Per un comportamento simile, utilizzare la sintassi TOP. Per ulteriori informazioni, vedere TOP (Transact-SQL).

Per disattivare questa opzione in modo che vengano restituite tutte le righe, specificare SET ROWCOUNT 0.

L'impostazione dell'opzione SET ROWCOUNT comporta l'arresto della maggior parte delle istruzioni Transact-SQL quando queste raggiungono il numero di righe specificato. Sono inclusi i trigger. L'opzione ROWCOUNT non ha effetto sui cursori dinamici, ma limita il set di righe dei cursori di tipo KEYSET e INSENSITIVE. Utilizzare questa opzione con cautela.

L'opzione SET ROWCOUNT è prioritaria rispetto alla parola chiave TOP dell'istruzione SELECT se il conteggio delle righe corrisponde a un valore inferiore.

L'opzione SET ROWCOUNT viene impostata in fase di esecuzione, non in fase di analisi.

È richiesta l'appartenenza al ruolo public.

L'opzione SET ROWCOUNT consente di arrestare l'elaborazione dopo il numero di righe specificato. Nell'esempio seguente si noti come oltre 500 righe soddisfino i criteri di Quantity minore di 300. Dopo avere applicato SET ROWCOUNT, tuttavia, si noterà come non siano state restituite tutte le righe.

USE AdventureWorks2012;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO

Set di risultati:

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)

Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

© 2013 Microsoft. Tutti i diritti riservati.