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