TOP (Entity SQL)
Der SELECT-Klausel kann hinter dem optionalen ALL/DISTINCT-Modifizierer eine TOP-Unterklausel angefügt werden. Die TOP-Unterklausel gibt an, dass nur der erste Zeilensatz aus dem Abfrageergebnis zurückgegeben wird.
[ TOP (n) ]
Argumente
- n
Der numerische Ausdruck, mit dem die Anzahl der zurückzugebenden Zeilen angegeben wird. Bei n kann es sich um ein einzelnes numerisches Literal oder um einen einzelnen Parameter handeln.
Hinweise
Beim TOP-Ausdruck muss es sich entweder um ein einzelnes numerisches Literal oder um einen einzelnen Parameter handeln. Wenn ein konstantes Literal verwendet wird, muss der Literaltyp implizit zu Edm.Int64 heraufstufbar sein (byte, int16, int32 oder int64 oder ein Anbietertyp, der einem zu Edm.Int64 heraufstufbaren Typ zugeordnet wird) und über einen Wert verfügen, der größer oder gleich null ist. Andernfalls wird eine Ausnahme ausgelöst. Wird ein Parameter als Ausdruck verwendet, muss der Parametertyp ebenfalls implizit zu Edm.Int64 heraufstufbar sein. Es wird jedoch während der Kompilierung keine Überprüfung des tatsächlichen Parameterwerts durchgeführt, da die Parameterwerte spät gebunden werden.
Im Folgenden finden Sie ein Beispiel für einen konstanten TOP-Ausdruck:
select distinct top(10) c.a1, c.a2 from T as a
Im Folgenden finden Sie ein Beispiel für einen parametrisierten TOP-Ausdruck:
select distinct top(@topParam) c.a1, c.a2 from T as a
Wenn die Abfrage nicht sortiert ist, ist TOP nicht deterministisch. Wenn ein deterministisches Ergebnis benötigt wird, sollte die SKIP-Unterklausel und die LIMIT-Unterklausel in der ORDER BY-Klausel verwendet werden. TOP und SKIP/LIMIT schließen sich gegenseitig aus.
Siehe auch
Verweis
SELECT (Entity SQL)
SKIP (Entity SQL)
LIMIT (Entity SQL)
ORDER BY (Entity SQL)