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