Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 12402|Odpoveď: 3

[Zdroj] Aktualizujte spôsob prevádzky samozväčšujúceho sa ID stĺpca v databáze SQL Server

[Kopírovať odkaz]
Zverejnené 23. 8. 2018 12:20:44 | | | |
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.




Predchádzajúci:SQL Server 2012 stĺpce automatického rastu s problémami s preskokom hodnoty
Budúci:Windows neúspešne spustí službu Redis, chyba 1067: Proces sa neočakávane ukončí.
 Prenajímateľ| Zverejnené 23. 8. 2018 12:57:08 |
1. Keď sú všetky údaje v tabuľke vymazané, automaticky sa zvýšia na nulu. ( orezanie tabuľky TableName )

2. Nevymazávajte údaje tabuľky, priamo resetujte hodnotu automatického rastu. (DBCC CHECKIDENT('TableName', RESEED, 0)
 Prenajímateľ| Zverejnené 23. 8. 2018 13:01:32 |
 Prenajímateľ| Zverejnené 13. 2. 2019 9:59:15 |
Zobraziť aktuálne hodnoty samozvyšujúcich sa stĺpcov v tabuľke:
    DBCC CHECKIDENT (TableName)

Upravte aktuálnu hodnotu samozvyšujúceho sa stĺpca v tabuľke:
    DBCC CHECKIDENT (TableName, RESEED, value)
    RESEED nie je názov stĺpca, je napísaný pevne daným spôsobom.


Napríklad, ak chcem zmeniť aktuálnu hodnotu samozvyšujúceho sa stĺpca v tabuľke delenia na 30, môžem použiť nasledujúci príkaz
DBCC CHECKIDENT (Divízia, RESEED, 30)
Potom použite
DBCC CHECKIDENT (divízia)
Vidíte, že aktuálna hodnota je 30
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com