Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die SELECT-Klausel kann eine optionale TOP-Unterklausel nach dem optionalen ALL/DISTINCT-Modifizierer aufweisen. Die TOP-Unterklausel gibt an, dass nur der erste Satz von Zeilen aus dem Abfrageergebnis zurückgegeben wird.
Syntax
[ TOP (n) ]
Argumente
n Der numerische Ausdruck, der die Anzahl der zurückzugebenden Zeilen angibt.
n kann ein einzelnes numerisches Literal oder ein einzelner Parameter sein.
Bemerkungen
Der TOP-Ausdruck muss entweder ein einzelnes numerisches Literal oder ein einzelner Parameter sein. Wenn ein konstantes Literal verwendet wird, muss der Literaltyp implizit auf Edm.Int64 (Byte, int16, int32 oder int64 oder einem Beliebigen Anbietertyp, der einem Typ zugeordnet ist, der promotable Edm.Int64 ist) und sein Wert größer oder gleich Null sein muss. Andernfalls wird eine Ausnahme ausgelöst. Wenn ein Parameter als Ausdruck verwendet wird, muss der Parametertyp auch implizit auf Edm.Int64 promotable sein, während der Kompilierung gibt es jedoch keine Überprüfung des tatsächlichen Parameterwerts, da die Parameterwerte verspätet begrenzt sind.
Im Folgenden sehen Sie ein Beispiel für den konstanten TOP-Ausdruck:
select distinct top(10) c.a1, c.a2 from T as a
Im Folgenden sehen Sie ein Beispiel für parametrisierten TOP-Ausdruck:
select distinct top(@topParam) c.a1, c.a2 from T as a
TOP ist nicht deterministisch, es sei denn, die Abfrage ist sortiert. Wenn Sie ein deterministisches Ergebnis benötigen, verwenden Sie die Unterklauseln SKIP und LIMIT in der ORDER BY-Klausel . Die TOP- und SKIP/LIMIT schließen sich gegenseitig aus.
Beispiel
Die folgende Entity SQL-Abfrage verwendet top, um die oberste Zeile anzugeben, die aus dem Abfrageergebnis zurückgegeben werden soll. Die Abfrage basiert auf dem AdventureWorks Sales Model. Führen Sie die folgenden Schritte aus, um diese Abfrage zu kompilieren und auszuführen:
Gehen Sie wie folgt vor : Ausführen einer Abfrage, die StrukturelleType-Ergebnisse zurückgibt.
Übergeben Sie die folgende Abfrage als Argument an die
ExecuteStructuralTypeQueryMethode:SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact