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 - 定义初始值。

INCRMENT - 定义每个 .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 - 定义初始值。

INCRMENT - 定义每个 .next 方法调用的增量。

CACHE - 定义在用于缓存序列类型的情况下要预缓存的值的数量。

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

ALTER SEQUENCE seqid START 1000

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

Altered sequence successfully 

掉落顺序

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

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

DROP SEQUENCE <sequence>

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

尝试以下查询来删除名为“seqid”的序列。

DROP SEQUENCE seqid

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

Sequence dropped successfully