OrientDB - Sequenze

Sequencesè un concetto utilizzato nel meccanismo di incremento automatico ed è stato introdotto in OrientDB v2.2. Nella terminologia del database, la sequenza è una struttura che gestisce il campo del contatore. Detto semplicemente, le sequenze vengono utilizzate principalmente quando è necessario un numero che aumenta sempre. Supporta due tipi:

ORDERED - Ogni volta che il puntatore chiama il metodo .next che restituisce un nuovo valore.

CACHED- La sequenza memorizzerà nella cache "N" elementi su ciascun nodo. Per chiamare ogni elemento che usiamo.next(), che è preferibile quando la cache contiene più di un elemento.

Crea sequenza

La sequenza viene solitamente utilizzata per incrementare automaticamente il valore id di una persona. Come altri concetti SQL di OrientDB, esegue anche operazioni simili a Sequence in RDBMS.

La seguente dichiarazione è la sintassi di base per creare sequenze.

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

Di seguito sono riportati i dettagli sulle opzioni nella sintassi precedente.

<Sequence> - Nome locale per sequenza.

TYPE - Definisce il tipo di sequenza ORDERED o CACHED.

START - Definisce il valore iniziale.

INCREMENT - Definisce l'incremento per ogni chiamata al metodo .next.

CACHE - Definisce il numero di valore da pre-memorizzare nella cache, nel caso in cui sia stato utilizzato per memorizzare nella cache il tipo di sequenza.

Creiamo una sequenza denominata "seqid" che inizia con il numero 1201. Prova le seguenti query per implementare questo esempio con sequenza.

CREATE SEQUENCE seqid START 1201

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

Sequence created successfully

Prova la seguente query per utilizzare la sequenza "seqid" per inserire il valore dell'ID della tabella Account.

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

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

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

Alter Sequence

Alter sequence è un comando utilizzato per modificare le proprietà di una sequenza. Modificherà tutte le opzioni della sequenza tranne il tipo di sequenza.

La seguente dichiarazione è la sintassi di base per modificare la sequenza.

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

Di seguito sono riportati i dettagli sulle opzioni nella sintassi precedente.

<Sequence> - Definisce la sequenza che si desidera modificare.

START - Definisce il valore iniziale.

INCREMENT - Definisce l'incremento per ogni chiamata al metodo .next.

CACHE - Definisce il numero di valore da pre-memorizzare nella cache nell'evento utilizzato per memorizzare nella cache il tipo di sequenza.

Prova la seguente query per modificare il valore iniziale da "1201 a 1000" di una sequenza denominata seqid.

ALTER SEQUENCE seqid START 1000

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

Altered sequence successfully

Sequenza di rilascio

Elimina sequenza è un comando utilizzato per eliminare una sequenza.

La seguente dichiarazione è la sintassi di base per eliminare una sequenza.

DROP SEQUENCE <sequence>

Dove <Sequence> definisce la sequenza che si desidera eliminare.

Prova la seguente query per eliminare una sequenza denominata "seqid".

DROP SEQUENCE seqid

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

Sequence dropped successfully