Pri vsakodnevnem razvoju SQL Serverja se stolpec identitete tipa Identiteta pogosto uporablja kot samonaraščajoče število strukture tabele. Na primer, številka izdelka, serijska številka zapisa itd. Sklicevanja na samorastoče identificirane stolpce močno olajšajo razvoj programov za baze podatkov, vendar lahko ta trdovratna vrsta polja povzroči tudi težave.
1. Spremenite vrednosti polj v identifikacijskem stolpcu:
Včasih je za implementacijo funkcije potrebno spremeniti vrednost polja tipa Identiteta samo-rastoče, vendar ta operacija privzeto ni dovoljena zaradi vrste stolpca identitete. Na primer, če je v bazo podatkov normalno dodanih 5 kosov podatkov, in sta 2 v tem trenutku izbrisana, potem če se podatki ponovno dodajo, bo samorastoči identifikacijski stolpec samodejno dobil vrednost 6, vendar če želite ob vnosu podatkov dodeliti vrednost 3, to privzeto ni dovoljeno. Če želiš spremeniti vrednost tega polja, lahko popolnoma nadzoruješ vstavljanje vrednosti identifikacijskega polja, še vedno obstajajo metode, haha.
NASTAVI IDENTITY_INSERT /[MIZA/] [VKLOP| IZKLOPLJENO] Z uporabo zgornje izjave lahko enostavno nadzorujete, ali se bo samorastoči stolpec identifikatorja v tabeli samodejno povečal, torej ali je dovoljeno ročno določiti vrednost polja stolpca identifikatorja ob vstavljanju zapisa. Če je navedeno kot vklopljeno, lahko ob vstavljanju določite vrednost identifikacijskega polja stolpca, kar samodejno ne poveča dodeljene vrednosti. Seveda, če ga porabiš, moraš uporabiti to izjavo, da izklopiš stikalo za privzeto stanje, sicer polje ne bo samodejno povečalo dodeljene vrednosti, ko naslednjič vneseš podatke.
2. Ponastavite vrednost polja v identifikacijskem stolpcu:
Ko je del podatkovnega zapisa izbrisan, novi podatkovni zapis pa dodan kasneje, bo vrednost identifikacijskega stolpca imela dolg prosti interval, kar je videti zelo neprijetno. Tudi če izbrišete vse zapise v tabeli, se bo vrednost stolpca identitete samodejno in neskončno povečevala, namesto da bi rasla iz nič. Vrednost semen samorastočega polja lahko ponastavimo z naslednjo izjavo:
DBCC CHECKIDENT(TABELA, [RESEED| NORESEED], [1]) Zgornja izjava bo prisilila začetno vrednost določene tabele, da se ponastavi na 1. Če pa ne želite ponastaviti semena na 1, lahko tretji parameter zamenjate z vrednostjo semena, ki jo želite uporabiti. Če želite poznati trenutno seme namesto ponastavitve identificiranega semena, morate uporabiti NORESEED namesto nastavljanja tretjega parametra. |