Pri každodennom vývoji SQL Serveru sa stĺpec identity typu Identity často používa ako samorastúce číslo štruktúry tabuľky. Napríklad číslo výrobku, sériové číslo záznamu a podobne. Odkazy na samorastúce identifikované stĺpce výrazne uľahčujú vývoj databázových programov, no niekedy môže tento tvrdohlavý typ poľa spôsobiť aj problémy.
1. Upraviť hodnoty polí identifikačného stĺpca:
Niekedy je na implementáciu funkcie potrebné upraviť hodnotu poľa typu Identita samo-rastúca, ale táto operácia nie je predvolene povolená kvôli typu stĺpca identity. Napríklad, ak je v databáze normálne pridaných 5 dát a 2 sú v tomto momente vymazané, potom ak sa dáta pridajú znova, samorastúci identifikačný stĺpec bude automaticky priradený s hodnotou 6, ale ak chcete pri vkladaní priradiť hodnotu 3, predvolene to nie je povolené. Ak chcete zmeniť hodnotu tohto poľa, môžete úplne kontrolovať vkladanie hodnoty identifikačného poľa, stále existujú metódy, haha.
NASTAVTE IDENTITY_INSERT /[STÔL/] [ZAPNUTÝ| VYPNUTÉ] Použitím vyššie uvedeného príkazu môžete jednoducho ovládať, či sa stĺpec identifikátora v tabuľke automaticky zvýši, teda či je dovolené manuálne zadať hodnotu poľa stĺpca identifikátora pri vkladaní záznamu. Ak je nastavené ako zapnuté, môžete pri vkladaní špecifikovať hodnotu identifikačného stĺpca, čo automaticky nezvyšuje priradenú hodnotu. Samozrejme, ak ho miniete, musíte použiť tento príkaz na vypnutie prepínača na predvolený stav, inak sa pole pri ďalšom vkladaní dát automaticky nezvýši.
2. Resetovať hodnotu poľa identifikačného stĺpca:
Keď sa časť dátového záznamu vymaže a nový dátový záznam pridá neskôr, hodnota identifikačného stĺpca bude mať dlhý nečinný interval, čo vyzerá veľmi nepríjemne. Aj keď vymažete všetky záznamy v tabuľke, hodnota stĺpca identity bude naďalej automaticky rásť a neustále rásť, namiesto toho, aby rástla od nuly. Hodnotu semien samorastúceho poľa možno resetovať použitím nasledujúceho príkazu:
DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1]) Vyššie uvedené vyhlásenie vynúti resetovanie počiatočnej hodnoty špecifikovanej tabuľky na 1. Ak však nechcete resetovať seed na 1, môžete nahradiť tretí parameter hodnotou seeda, ktorú chcete použiť. Ak chcete poznať aktuálny seed namiesto resetovania identifikovaného semena, musíte použiť NORESEED namiesto nastavenia tretieho parametra. |