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
如果上述查询成功执行,您将获得以下输出。
序列创建成功
尝试以下查询以使用序列"seqid"插入 Account 表的 id 值。
INSERT INTO Account SET id = serial('seqid').next()
如果上述查询成功执行,您将获得以下输出。
Insert 1 record(s) in 0.001000 sec(s)
Alter Sequence
Alter Sequence 是用于更改序列属性的命令。它将修改除序列类型之外的所有序列选项。
以下语句是修改序列的基本语法。
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
Drop Sequence 是用于删除序列的命令。
以下语句是删除序列的基本语法。
DROP SEQUENCE <sequence>
其中 <Sequence> 定义要删除的序列。
尝试以下查询以删除名为"seqid"的序列。
DROP SEQUENCE seqid
如果上述查询成功执行,您将获得以下输出。
Sequence dropped successfully