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命令的基本語法。

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 <sequence>

其中<sequence>定義想要刪除的序列。

嘗試以下查詢以刪除名爲seqid的序列。

DROP SEQUENCE seqid

如果上述查詢成功執行,您將得到以下輸出。

Sequence dropped successfully