SQL servera unikālā identifikatora veids
Šī ir 16 baitu GUID vērtība, ko izmanto kolonnā vai lokālajā mainīgajā. Unikālā identifikatora tipa vērtību var izveidot, izmantojot funkcijas NEWID() un NEWSEQUENTIALID().
Varat arī ģenerēt GUID vērtību, konvertējot virknes vērtību formātā xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx, kur x ir heksadecimālais cipars diapazonā no 0 līdz 9.
GUID vērtības nejaušības dēļ tiek garantēts, ka GUID vērtība var būt unikāla datu bāzē vai pat serveros. Tas ir lielisks datu tips, lai unikāli identificētu doto vērtību.
SQL Server NEWID() funkcija
Funkcija NEWID() ļauj mums ģenerēt jaunu unikālu unikālā identifikatora tipa vērtību. Sintakse ir šāda:
MAINĪT ( )
Piemēram:
paziņot @gid unikālo identifikatoru;
iestatīt @gid = CHANGE();
atlasiet @gid kā gid;
Iepriekš minētajiem paziņojumiem ir jāatgriež GUID vērtība šādi:
gid873412E2-A926-4EAB-B99F-A1E47E727355
SQL Server NEWSEQUENTIALID() funkcija
Šī funkcija ļauj secīgi ģenerēt unikālas GUID vērtības. Tas darbojas, ģenerējot GUID vērtību, kas ir lielāka par iepriekš ģenerēto GUID.
Tas padara to noderīgu lietošanai kā rindas identifikatoru, jo tas ģenerē vērtības secīgi, nevis manuāli nosaka nākamo GUID vērtību, izmantojot funkciju NEWID().
Funkcijas sintakse ir šāda:
NEWSEQUENTIALID ( )SQL Server GUID izmantošana kā rindas identifikators
Nākamajā piemērā parādīts, kā izmantot funkciju newssequentialid() kā rindas identifikatoru noteiktai kolonnai.
izveidot tabulas ierakstus (id unikālais identifikators nav nulle noklusējuma newsequentialid() primārā atslēga,
servera_nosaukums varchar(50),
servera_adrese varchar(255) nav null,
compression_method varchar(100) noklusējuma 'none',
size_on_sk float nav nulles,
size_compressed float,
total_records int nevis null,
init_date datums
);
ievietot
iekšā
IERAKSTI(servera_nosaukums,
servera_adrese,
kompresijas_metode,
izmērs_diskā,
size_compressed,
total_records,
sākuma_datums)
vērtības
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02'),
('Rēdis','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');
Iepriekš minētajā piemērā mēs iestatījām ID kolonnu kā unikālā identifikatora veidu un noklusējuma vērtību kā vērtību, ko ģenerē funkcija newssequentialid().
Rezultātā iegūtā tabula ir šāda:
izvēlieties * no ierakstiem;Izvade:
Lai gan GUID vērtību izmantošana var nodrošināt stingru unikalitāti, tas var būt sarežģīti, veicot atkļūdošanu vai atlasot noteiktas vērtības.
Secinājums
Šajā rokasgrāmatā jūs uzzinājāt par unikālā identifikatora veidu programmā SQL Server. Jūs arī uzzinājāt, kā ģenerēt GUID vērtības, izmantojot funkcijas NEWID() un NEWSEQUENTIALID().