OrientDB序列
序列是自动增量机制中使用的一个概念,它在OrientDB v2.2中引入。 在数据库术语中,序列是管理计数器字段的结构。 简单地说,所述序列通常在需要总是增加的数字时使用。 它支持两种类型:
ORDERED - 每次指针调用返回新值的.next方法。
CACHED - 序列将缓存每个节点上的“N”项。 要调用每个项目,我们使用.next(),当缓存包含多个项目时,这是首选。
创建序列
序列通常用于自动递增人的id值。 像OrientDB的其他SQL概念一样,它也预处理与RDBMS中的Sequence类似的操作。
以下语句是创建序列的基本语法。
CREATE SEQUENCE <sequence> TYPE <CACHED|ORDERED> [START <start>] [INCREMENT <increment>] [CACHE <cache>]以下是上述语法中的选项的详细信息。
<Sequence> :序列的本地名称。
TYPE - 定义序列类型ORDERED或CACHED。
START - 定义初始值。
INCREMENT - 定义每个.next方法调用的增量。
CACHE - 在您用于缓存序列类型的事件中,定义要预缓存的值的数量。
让我们创建一个名为“seqid”的序列,以数字1201开头。尝试以下查询以使用sequence实现此示例。
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