Päivittäisessä SQL Server -kehityksessä identiteettityypin identiteettisaraketta käytetään usein taulukkorakenteen itsestään kasvavana lukuna. Esimerkiksi artikkelinumero, levyn sarjanumero jne. Viittaukset itsestään kasvaviin tunnistettuihin sarakkeihin helpottavat merkittävästi tietokantaohjelmien kehitystä, mutta joskus tämä itsepäinen kenttätyyppi voi myös aiheuttaa ongelmia.
1. Muokkaa tunnistussarakkeen kenttäarvoja:
Joskus funktion toteuttamiseksi on tarpeen muuttaa Identity-tyyppisen kentän arvoa, joka kasvaa itsestään, mutta tämä operaatio ei ole oletuksena sallittu identiteettisarakkeen tyypin vuoksi. Esimerkiksi, jos tietokantaan lisätään normaalisti 5 tietopalaa ja 2 poistetaan tällä hetkellä, niin jos data lisätään uudelleen, itsestään kasvavalle tunnistesarakkeelle annetaan automaattisesti arvo 6, mutta jos haluat antaa arvoksi 3 syötettäessäsi dataa, se ei ole oletuksena sallittua. Jos haluat muuttaa tämän kentän arvoa, voit täysin hallita tunnistekentän arvon lisäämistä, metodeja on edelleen, haha.
ASETA IDENTITY_INSERT /[PÖYTÄ/] [PÄÄLLE| POIS] Yllä olevan lauseen avulla voit helposti hallita, kasvaako itsestään kasvava tunnistesarakke taulukossa automaattisesti, eli saako tunnistesarakkeen kentän arvon määrittää manuaalisesti tietueen lisäämisen yhteydessä. Jos se on määritetty kuten päällä, voit määrittää tunnistesarakkeen kentän arvon lisäyksen yhteydessä, mikä ei automaattisesti kasvata annettua arvoa. Tietenkin, jos käytät sen loppuun, sinun täytyy käyttää tätä lausetta sammuttaaksesi kytkin oletustilaan, muuten kenttä ei automaattisesti lisää annettua arvoa, kun lisäät dataa seuraavalla kerralla.
2. Nollaa tunnistesarakkeen kenttäarvo:
Kun osa datatietueesta poistetaan ja uusi tietue lisätään myöhemmin, tunnistesarakkeen arvolla on pitkä lepotilasväli, mikä näyttää hyvin epämiellyttävältä. Vaikka poistaisit kaikki tietueet taulukosta, identiteettisarakkeen arvo kasvaa automaattisesti ja loputtomasti, eikä kasvaisi alusta alkaen. Itsestään kasvavan pellon siemenarvo voidaan nollata käyttämällä seuraavaa lausetta:
DBCC CHECKIDENT(TABLE, [UUDELLEENSIEMEN| NORESEED], [1]) Yllä oleva lause pakottaa määritellyn taulukon siemenarvon nollattavaksi arvoon 1. Jos et kuitenkaan halua nollata siementä arvoon 1, voit korvata kolmannen parametrin haluamallasi siemenarvolla. Jos haluat tietää nykyisen siemenen sen sijaan, että nollaisit tunnistetun siemenen, sinun täytyy käyttää NORESEEDia kolmannen parametrin sijaan. |