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 <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
廣告