SQL Server GUID

SQL Server GUID
In questo post, impareremo come utilizzare il tipo di identificatore univoco in SQL Server. Utilizzeremo anche le funzioni newId () e newquentialid () per generare valori GUID.

Tipo SQL Server UNIDIDIFIER

Questo è un valore GUID a 16 byte utilizzato in una colonna o in una variabile locale. È possibile creare un valore di tipo di identificazione univoco utilizzando le funzioni neoD () e newquentialId ().

È inoltre possibile generare un valore GUID convertendo un valore di stringa nel formato XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX dove X è una cifra esadecimale nell'intervallo di 0-9.

A causa della "casualità" di un valore GUID, è garantito che un valore GUID può essere unico in un database o anche in server. Questo rende un eccellente tipo di dati per identificare in modo univoco un determinato valore.

Funzione sql server newid ()

La funzione newid () ci consente di generare un nuovo valore unico del tipo di identificatore univoco. La sintassi è come mostrata:

Newid ()

Per esempio:

dichiarare @GID UnivEIdentifier;
set @gid = newId ();
Seleziona @GID come GID;

Le dichiarazioni di cui sopra dovrebbero restituire un valore GUID come:

Gid
873412E2-A926-4EAB-B99F-A1E47E727355

Funzione sql server newquentialid ()

Questa funzione consente di generare valori GUID univoci in sequenza. Funziona generando un valore GUID maggiore di GUID precedentemente generato.

Ciò lo rende utile per l'uso come identificatore di riga poiché genera valori in sequenza anziché determinare manualmente il valore GUID successivo usando la funzione newId ().

La sintassi della funzione è come mostrata:

Newquentialid ()

Utilizzo di SQL Server GUID come identificatore di riga

L'esempio seguente mostra come utilizzare la funzione newquentialid () come identificatore di riga per una data colonna.

Crea voci della tabella (
ID UNIVEIDIDITARE NON NULL NULLE DEFAULT New SequentialId () Chiave primaria,
server_name varchar (50),
server_address varchar (255) non null,
compressione_method varchar (100) predefinito "nessuno",
size_on_disk float non null,
size_ float compresso,
total_records int non null,
Data init_date
);
inserire
in
Voci (server_name,
indirizzo del server,
metodo di compressione,
spazio sul disco,
size_compressed,
Total_Records,
init_date)
valori
('Mysql', 'localhost: 3306', 'lz77', 90.66,40.04.560000, '2022-01-02'),
('Redis', 'LocalHost: 6307', 'Snappy', 3.55.998.2.100000, '2022-03-19'),
('Postgresql', 'LocalHost: 5432', 'pglz', 101.2,98.01.340000, '2022-11-11'),
("Elasticsearch", 'LocalHost: 9200', 'LZ4', 333.2.300.2.1200000, '2022-10-08'),
("Mongodb", "localhost: 27017", "snappy", 4.55,4.10.620000, '2021-12-12'),
('Apache Cassandra', 'LocalHost: 9042', 'ZSTD', 300.3.200.12.10000000, '2020-03-21');

Nell'esempio sopra, impostiamo la colonna ID come tipo univoco Identificier e il valore predefinito come valore generato dalla funzione newquentialId ().

La tabella risultante è come mostrata:

Seleziona * dalle voci;

Produzione:

Sebbene l'utilizzo dei valori GUID possa fornire una stretta unicità, può essere difficile durante il debug o la selezione di valori specifici.

Conclusione

In questa guida, hai appreso il tipo di identificatore univoco in SQL Server. Hai anche imparato come generare valori GUID utilizzando le funzioni NewID () e New SequentialId ().