fetch-子句

fetch-clause 设置可检索的最大行数。

读取语法图跳过可视语法图FETCH FIRSTNEXT 1访存行计数ROWROWSONLY

fetch-clause 设置可检索的最大行数。 它使数据库管理器知道应用程序不希望检索超过 fetch-row-count 行,而不管中间结果表中有多少行。 对超出 fetch-row-count 行的访存尝试的处理方式与正常数据结束方式相同。

不能在视图的最外层全查询中指定 fetch-clause

确定要检索的一组可预测行需要指定带有排序键的 ORDER BY 子句,该排序键唯一地标识中间结果表中每一行的排序顺序。 如果中间结果表包含某些行的重复排序键,那么行的顺序不是确定性的。 如果没有 ORDER BY 子句,那么中间结果表不具有确定性顺序。 如果中间结果表的顺序不是确定性的,那么检索的行集是不可预测的。 如果同时指定了 order-by-clausefetch-clause ,那么将对有序数据处理 fetch-clause

获取行数
用于指定要检索的最大行数的表达式。 fetch-row-count 不得包含 scalar-fullselect,列引用,表引用,用户定义的函数引用或在检查约束中标识为受限的内置标量函数; 请参阅 check-constraint。 如果表达式的数据类型不是 BIGINT ,那么表达式的结果将强制转换为 BIGINT 值。 fetch-row-count 的值必须是正数或零。 它不能是空值。

将结果表限制为指定行数可提高性能。 在某些情况下,数据库管理器将在确定指定行数后停止处理查询。 如果还指定了 offset-clause ,那么数据库管理器在确定何时停止处理时还将考虑偏移量值。

如果全查询在 FROM 子句中包含 SQL 数据更改语句,那么将修改所有行,而不考虑要访存的行数限制。

行访问控制会间接影响 FETCH FIRST 子句,因为行访问控制会影响子查询的授权标识可访问的行。

注意

语法替代方法:

  • 关键字 FIRST 和 NEXT 可以互换使用。 结果保持不变; 但是,当使用 offset-clause 时,使用关键字 NEXT 更容易读取。
  • 支持以下内容以与其他数据库产品所使用的 SQL 兼容。 这些替代品是非标准的,不应使用。
    备用语法 等效语法
    限制 x 只获取前 x
    限制 x 偏移 y 偏移 y 行 仅取回前 x
    LIMIT yx 偏移 y 行 仅取回前 x