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