OrientDB序列

2018-12-24 09:49 更新

序列是自動(dòng)增量機(jī)制中使用的一個(gè)概念,它在OrientDB v2.2中引入。 在數(shù)據(jù)庫術(shù)語中,序列是管理計(jì)數(shù)器字段的結(jié)構(gòu)。 簡單地說,所述序列通常在需要總是增加的數(shù)字時(shí)使用。 它支持兩種類型:
ORDERED - 每次指針調(diào)用返回新值的.next方法。
CACHED - 序列將緩存每個(gè)節(jié)點(diǎn)上的“N”項(xiàng)。 要調(diào)用每個(gè)項(xiàng)目,我們使用.next(),當(dāng)緩存包含多個(gè)項(xiàng)目時(shí),這是首選。
創(chuàng)建序列
序列通常用于自動(dòng)遞增人的id值。 像OrientDB的其他SQL概念一樣,它也預(yù)處理與RDBMS中的Sequence類似的操作。
以下語句是創(chuàng)建序列的基本語法。

CREATE SEQUENCE <sequence> TYPE <CACHED|ORDERED> [START <start>]  
[INCREMENT <increment>] [CACHE <cache>]

以下是上述語法中的選項(xiàng)的詳細(xì)信息。
<Sequence> :序列的本地名稱。
TYPE - 定義序列類型ORDERED或CACHED。
START - 定義初始值。
INCREMENT - 定義每個(gè).next方法調(diào)用的增量。
CACHE - 在您用于緩存序列類型的事件中,定義要預(yù)緩存的值的數(shù)量。
讓我們創(chuàng)建一個(gè)名為“seqid”的序列,以數(shù)字1201開頭。嘗試以下查詢以使用sequence實(shí)現(xiàn)此示例。

CREATE SEQUENCE seqid START 1201

如果上面的查詢執(zhí)行成功,你會(huì)得到下面的輸出。

Sequence created successfully

嘗試以下查詢以使用序列'seqid'來插入Account表的id值。

INSERT INTO Account SET id = sequence('seqid').next() 

如果上面的查詢執(zhí)行成功,你會(huì)得到下面的輸出。

Insert 1 record(s) in 0.001000 sec(s) 

更改序列

更改序列是用于更改序列屬性的命令。 它將修改除序列類型之外的所有序列選項(xiàng)。
以下語句是更改序列的基本語法。

ALTER SEQUENCE <sequence> [START <start-point>] 
[INCREMENT <increment>] [CACHE <cache>]

以下是上述語法中的選項(xiàng)的詳細(xì)信息。
<Sequence>:定義要更改的序列。
START - 定義初始值。
INCREMENT - 定義每個(gè).next方法調(diào)用的增量。
CACHE - 定義在用于緩存序列類型的事件中預(yù)緩存的值的數(shù)量。
嘗試以下查詢以將名為seqid的序列的起始值從“1201更改為1000”。

ALTER SEQUENCE seqid START 1000

如果上面的查詢執(zhí)行成功,你會(huì)得到下面的輸出。

Altered sequence successfully 

丟棄序列

丟棄序列是用于刪除序列的命令。
以下語句是刪除序列的基本語法。

DROP SEQUENCE <sequence>

其中<Sequence>定義要?jiǎng)h除的序列。
嘗試以下查詢刪除名為“seqid”的序列。

DROP SEQUENCE seqid

如果上面的查詢執(zhí)行成功,你會(huì)得到下面的輸出。

Sequence dropped successfully
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)