FIRST、TOP 和 LIMIT 子句允许您返回、更新或者删除满足 WHERE 子句的行的子集。可以在任何包含 ORDER BY 子句的 SELECT 查询块中使用 FIRST、TOP 和 LIMIT 子句。也可以在 DELETE 和 UPDATE 查询块中使用 FIRST 和 TOP 子句。
FIRST、TOP 和 LIMIT 子句是行限制子句,它们有以下语法:
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 )
只能为 SELECT 子句指定一个行限制子句。指定这些子句时,需要使用 ORDER BY 子句来按照有意义的方式对行进行排序。
row-limitation-option-1 这种类型的子句可以与 SELECT、UPDATE 或 DELETE 查询块一起使用。TOP 和 START AT 参数可以是主机变量的简单算术表达式、整型常量或整型变量。TOP 参数的计算结果必须是一个大于或等于 0 的值。START AT 参数的计算结果必须为一个大于或等于 0 的值。如果未指定 startat-expression,则缺省值为 1。
表达式 limit-expression + startat-expression -1'
的计算结果必须是一个小于 9223372036854775807 = 2^64-1 的值。如果 TOP 的参数为 ALL,那么从 startat-expression 开始的行都将被返回。
TOP limit-expression START AT startat-expression
子句等同于 LIMIT (startat-expression-1), limit-expression
或 LIMIT limit-expression OFFSET (startat-expression-1)
。
row-limitation-option-2
这种类型的子句只能使用在 SELECT 查询块中。LIMIT 和 OFFSET 参数可以是主机变量的简单算术表达式、整型常量或整型变量。LIMIT 参数的计算结果必须是一个大于等于 0 的值。OFFSET 参数的计算结果必须是一个大于等于 0
的值。如果未指定 offset-expression,则缺省值为 0。表达式 limit-expression + offset-expression
的计算结果必须是一个小于 9223372036854775807 = 2^64-1 的值。
行限制子句 LIMIT offset-expression, limit-expression
等效于 LIMIT limit-expression OFFSET offset-expression
。这两个构造都等效于 TOP limit-expression START AT (offset-expression + 1)
。
缺省情况下,禁用 LIMIT 关键字。使用 reserved_keywords 选项可启用 LIMIT 关键字。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |