Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfragen und Datenänderung » Abfrageergebnisse zusammenfassen, gruppieren und sortieren » Die ORDER BY-Klausel: Abfrageergebnisse sortieren

 

Zeilenbeschränkungsklauseln in SELECT-, UPDATE- und DELETE-Abfrageblöcken

Mithilfe der Klauseln FIRST, TOP und LIMIT können Sie eine Teilmenge der Zeilen zurückgeben, aktualisieren oder löschen, die die WHERE-Klausel erfüllen. Die Klauseln FIRST, TOP und LIMIT können in jedem SELECT-Abfrageblock verwendet werden, der eine ORDER BY-Klausel enthält. Die Klauseln FIRST und TOP können auch in DELETE- und UPDATE-Abfrageblöcken verwendet werden.

Die Klauseln FIRST, TOP und LIMIT sind Zeilenbeschränkungsklauseln und haben die folgende Syntax:

row-limitation-option-1 :
FIRST | TOP { ALL | limit-expression } [ START AT startat-expression ]
row-limitation-option-2 :
LIMIT { [ offset-expression, ] limit-expression | limit-expression OFFSET offset-expression }
limit-expression : simple-expression
startat-expression : simple-expression
offset-expression : simple-expression
simple-expression :
integer
| variable
| ( simple-expression )
| ( simple-expression { + | - | * } simple-expression )

Für eine SELECT-Klausel kann nur eine Zeilenbeschränkungsklausel angegeben werden. Wenn diese Klauseln angegeben werden, ist auch eine ORDER BY-Klausel erforderlich, um die Zeilen sinnvoll zu ordnen.

  • row-limitation-option-1   Dieser Klauseltyp kann mit SELECT-, UPDATE- oder DELETE-Abfrageblöcken verwendet werden. Die Argumente TOP und START AT können einfache arithmetische Ausdrücke über Hostvariablen, Ganzzahl-Konstanten oder Ganzzahl-Variablen sein. Das TOP-Argument muss jedoch mit einem Wert größer oder gleich 0 ausgewertet werden. Das START AT-Argument mit einem Wert größer als 0 ausgewertet werden. Wenn startat-expression nicht angegeben wird, ist der Standardwert 1.

    Der Ausdruck limit-expression + startat-expression -1' muss mit einem Wert von weniger als 9223372036854775807 = 2^64-1 ausgewertet werden. Wenn das TOP-Argument ALL lautet, werden alle Zeilen zurückgegeben, die bei startat-expression beginnen.

    Die TOP limit-expression START AT startat-expression-Klausel ist äquivalent mit LIMIT (startat-expression-1), limit-expression oder LIMIT limit-expression OFFSET (startat-expression-1).

  • row-limitation-option-2   Dieser Klauseltyp kann nur in SELECT-Abfrageblöcken verwendet werden. Die Argumente LIMIT und OFFSET können einfache arithmetische Ausdrücke über Hostvariablen, Ganzzahl-Konstanten oder Ganzzahl-Variablen sein. Das LIMIT-Argument muss jedoch mit einem Wert größer oder gleich 0 ausgewertet werden. Das OFFSET-Argument muss jedoch mit einem Wert größer oder gleich 0 ausgewertet werden. Wenn offset-expression nicht angegeben wird, ist der Standardwert 0. Der Ausdruck limit-expression + offset-expression muss mit einem Wert von weniger als 9223372036854775807 = 2^64-1 ausgewertet werden.

Die Zeilenbeschränkungsklausel LIMIT offset-expression, limit-expression entspricht LIMIT limit-expression OFFSET offset-expression. Beide Konstrukte entsprechen TOP limit-expression START AT (offset-expression + 1).

Das LIMIT-Schlüsselwort ist standardmäßig deaktiviert. Verwenden Sie die reserved_keywords-Option, um das LIMIT Schlüsselwort zu aktivieren.

 Beispiele
 Siehe auch