TOP (Entity SQL)
La clausola SELECT può includere una sottoclausola TOP facoltativa dopo il modificatore ALL/DISTINCT facoltativo. La sottoclausola TOP specifica che verrà restituito solo il primo set di righe del risultato della query.
[ TOP (n) ]
Argomenti
- n
Espressione numerica che specifica il numero di righe da restituire. n potrebbero essere un singolo valore letterale numerico o un singolo parametro.
Osservazioni
L'espressione TOP deve essere un singolo valore letterale numerico o un singolo parametro. Se viene utilizzato un valore letterale costante, il tipo del valore letterale deve essere implicitamente promuovibile a Edm.Int64 (byte, int16, int32 o int64 oppure qualsiasi tipo di provider mappato a un tipo promuovibile a Edm.Int64) e il suo valore deve essere maggiore o uguale a zero. In caso contrario, viene generata un'eccezione. Se come espressione viene utilizzato un parametro, anche il tipo di parametro deve essere implicitamente promuovibile a Edm.Int64, ma non verrà eseguita alcuna convalida effettiva del valore del parametro durante la compilazione in quanto per i valori dei parametri viene utilizzata l'associazione tardiva.
Di seguito è illustrato un esempio di espressione TOP costante.
select distinct top(10) c.a1, c.a2 from T as a
Di seguito è illustrato un esempio di espressione TOP con parametri.
select distinct top(@topParam) c.a1, c.a2 from T as a
L'espressione TOP non è deterministica, a meno che la query non venga ordinata. Se è necessario un risultato deterministico, utilizzare le sottoclausole SKIP e LIMIT nella clausola ORDER BY. TOP e SKIP/LIMIT si escludono a vicenda.
Esempio
Nella query Entity SQL seguente viene utilizzato TOP per specificare la riga superiore da restituire dal risultato della query. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:
Seguire la procedura indicata in Procedura: eseguire una query che restituisce risultati StructuralType (EntityClient).
Passare la query seguente come argomento al metodo
ExecuteStructuralTypeQuery
:
SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact
Vedere anche
Riferimento
SELECT (Entity SQL)
SKIP (Entity SQL)
LIMIT (Entity SQL)
ORDER BY (Entity SQL)