序列是一個用於自動增量機制的概念,它在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