OrientDB - 序列



序列是自动递增机制中使用的概念,它在 OrientDB v2.2 中引入。在数据库术语中,序列是一种管理计数器字段的结构。简单来说,序列主要用于需要始终递增的数字。它支持两种类型:

ORDERED - 每次指针调用 .next 方法都会返回一个新值。

CACHED - 序列将在每个节点上缓存 'N' 个项目。要调用每个项目,我们使用 .next(),当缓存包含多个项目时,这是首选方法。

创建序列

序列通常用于自动递增人员的 ID 值。与 OrientDB 的其他 SQL 概念一样,它也执行与 RDBMS 中的序列类似的操作。

以下语句是创建序列的基本语法。

CREATE SEQUENCE <sequence> TYPE <CACHED|ORDERED> [START <start>]  
[INCREMENT <increment>] [CACHE <cache>]

以下是关于上述语法中选项的详细信息。

<Sequence> - 序列的本地名称。

TYPE - 定义序列类型 ORDERED 或 CACHED。

START - 定义初始值。

INCREMENT - 定义每次 .next 方法调用时的增量。

CACHE - 定义要预缓存的值的数量,如果您使用的是缓存序列类型。

让我们创建一个名为 'seqid' 的序列,从数字 1201 开始。尝试以下查询以使用序列实现此示例。

CREATE SEQUENCE seqid START 1201

如果上述查询成功执行,您将获得以下输出。

Sequence created successfully

尝试以下查询以使用序列 'seqid' 插入 Account 表的 ID 值。

INSERT INTO Account SET id = sequence('seqid').next() 

如果上述查询成功执行,您将获得以下输出。

Insert 1 record(s) in 0.001000 sec(s) 

修改序列

修改序列命令用于更改序列的属性。它将修改所有序列选项,但序列类型除外。

以下语句是修改序列的基本语法。

ALTER SEQUENCE <sequence> [START <start-point>] 
[INCREMENT <increment>] [CACHE <cache>]

以下是关于上述语法中选项的详细信息。

<Sequence> - 定义您要更改的序列。

START - 定义初始值。

INCREMENT - 定义每次 .next 方法调用时的增量。

CACHE - 定义要预缓存的值的数量,如果您使用的是缓存序列类型。

尝试以下查询以将名为 seqid 的序列的起始值从 '1201' 更改为 '1000'。

ALTER SEQUENCE seqid START 1000

如果上述查询成功执行,您将获得以下输出。

Altered sequence successfully 

删除序列

删除序列命令用于删除序列。

以下语句是删除序列的基本语法。

DROP SEQUENCE <sequence>

其中 <Sequence> 定义您要删除的序列。

尝试以下查询以删除名为 'seqid' 的序列。

DROP SEQUENCE seqid

如果上述查询成功执行,您将获得以下输出。

Sequence dropped successfully
广告
© . All rights reserved.