SQL Serverin yksilöivä tunnistetyyppi
Tämä on 16-tavuinen GUID-arvo, jota käytetään sarakkeessa tai paikallisessa muuttujassa. Voit luoda yksilöllisen tunnisteen tyypin arvon käyttämällä NEWID()- ja NEWSEQUENTIALID()-funktioita.
Voit myös luoda GUID-arvon muuntamalla merkkijonoarvon muotoon xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx, jossa x on heksadesimaaliluku välillä 0–9.
GUID-arvon 'satunnaisuuden' vuoksi on taattu, että GUID-arvo voi olla ainutlaatuinen tietokannassa tai jopa palvelimissa. Tämä on erinomainen tietotyyppi tietyn arvon yksilöimiseen.
SQL Server NEWID() -funktio
NEWID()-funktion avulla voimme luoda uuden yksilöllisen arvon yksilölliselle tunnistetyypille. Syntaksi on seuraavanlainen:
MUUTA ( )
Esimerkiksi:
ilmoittaa @gid yksilöllinen tunniste;
set @gid = MUUTA();
valitse @gid nimellä gid;
Yllä olevien lauseiden pitäisi palauttaa GUID-arvo seuraavasti:
gid873412E2-A926-4EAB-B99F-A1E47E727355
SQL Server NEWSEQUENTIALID() -funktio
Tämän toiminnon avulla voit luoda yksilöllisiä GUID-arvoja peräkkäin. Se toimii luomalla GUID-arvon, joka on suurempi kuin aiemmin luotu GUID.
Tämä tekee siitä hyödyllisen käytettäväksi rivitunnisteena, koska se luo arvot peräkkäin sen sijaan, että se määrittäisi seuraavan GUID-arvon manuaalisesti NEWID()-funktiolla.
Toiminnon syntaksi on seuraavanlainen:
NEWSEQUENTIALID ( )SQL Server GUID:n käyttäminen rivitunnisteena
Seuraava esimerkki näyttää, kuinka newsequentialid()-funktiota käytetään tietyn sarakkeen rivitunnisteena.
luo taulukkomerkintöjä (id yksilöllinen tunniste ei null oletus newsequentialid() ensisijainen avain,
palvelimen_nimi varchar(50),
palvelimen_osoite varchar(255) ei ole tyhjä,
compression_method varchar(100) oletusarvo 'none',
size_on_disk float not null,
size_compressed float,
total_records int ei null,
aloituspäivämäärä
);
lisää
sisään
ENTRIES(palvelimen_nimi,
palvelimen osoite,
compression_method,
size_on_disk,
size_compressed,
total_records,
aloituspäivämäärä)
arvot
('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');
Yllä olevassa esimerkissä asetamme ID-sarakkeen yksilöllisen tunnisteen tyypiksi ja oletusarvon newsequentialid()-funktion luomaksi arvoksi.
Tuloksena oleva taulukko on seuraavanlainen:
valitse * merkinnöistä;Lähtö:
Vaikka GUID-arvojen käyttö voi tarjota tiukan yksilöllisyyden, se voi olla vaikeaa virheenkorjauksessa tai tiettyjen arvojen valitsemisessa.
Johtopäätös
Tässä oppaassa opit SQL Serverin yksilöllisen tunnisteen tyypistä. Opit myös luomaan GUID-arvoja NEWID()- ja NEWSEQUENTIALID()-funktioiden avulla.