文档中心
v3.4

SequoiaDB 简介

安装部署

数据库实例

分布式引擎

SAC 管控中心

参考手册

常见问题及解答(FAQ)

版本信息

fetch()

名称

fetch - 获取当前序列的多个连续的序列值

语法

sequence.fetch(<num>)

类别

SdbSequence

描述

该函数用于一次性获取当前序列的多个连续的序列值。需要获取多个值时,调用该函数比多次调用 getNextValue() 函数拥有更好的性能。可以指定预期需要取的个数,但返回个数有可能比预期的少。

参数

num( number必填

预期需要取的序列值个数

返回值

函数执行成功时,返回一个包含三个字段的对象。NextValue 表示第一个可用的序列值;ReturnNum 表示返回序列值的个数;Increment 表示序列值每次增加的间隔。

函数执行失败时,将抛异常并输出错误信息。

错误

当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南

版本

v3.4.2 及以上版本

示例

获取若干连续的序列值

> var sequence = db.createSequence( "IDSequence" )
> sequence.fetch( 10 )
{
  "NextValue": 1,
  "ReturnNum": 10,
  "Increment": 1
}

打印所获取的序列值

> var result = sequence.fetch( 5 ).toObj()
> var nextValue = result.NextValue
> for (var i = 1; i < result.ReturnNum; i++) {
... println( nextValue );
... nextValue += result.Increment;
... }
11
12
13
14
15
回到顶部