I daglig utvikling av SQL Server brukes ofte identitetskolonnen til Identity-typen som det selvvoksende tallet til en tabellstruktur. For eksempel artikkelnummer, postserienummer, osv. Referanser til selvvoksende identifiserte kolonner letter utviklingen av databaseprogrammer betydelig, men noen ganger kan denne sta felttypen også skape problemer.
1. Endre feltverdiene i identifikasjonskolonnen:
Noen ganger, for å implementere en funksjon, er det nødvendig å endre verdien av et felt av typen Identity selvvoksende, men denne operasjonen er ikke tillatt som standard på grunn av typen identitetskolonne. For eksempel, hvis det legges til 5 databiter normalt i databasen, og 2 slettes på dette tidspunktet, vil den selvvoksende identifikasjonskolonnen automatisk få verdien 6 hvis dataene legges til igjen, men hvis du ønsker å tildele verdien 3 ved innsetting av data, er det ikke tillatt som standard. Hvis du vil endre verdien av dette feltet, kan du fullstendig kontrollere innsettingen av verdien av identifikasjonsfeltet, det finnes fortsatt metoder, haha.
DEKK IDENTITY_INSERT /[BORD/] [PÅ| AV] Ved å bruke setningen ovenfor kan du enkelt kontrollere om en selvvoksende identifikatorkolonne i en tabell automatisk vokser, det vil si om du har lov til å manuelt spesifisere verdien av identifikatorkolonnefeltet når du setter inn en post. Hvis det er spesifisert som på, kan du angi verdien til det identifiserende kolonnefeltet ved innsetting, noe som ikke automatisk øker den tildelte verdien. Selvfølgelig, hvis du bruker den opp, må du bruke denne setningen for å slå av bryteren til standardtilstanden, ellers vil ikke feltet automatisk øke den tildelte verdien når du setter inn data neste gang.
2. Tilbakestill feltverdien til identifikasjonskolonnen:
Når en del av dataposten slettes, og den nye dataposten legges til senere, vil verdien av identifikasjonskolonnen ha et stort ledig intervall, noe som ser veldig ubehagelig ut. Selv om du sletter alle poster i tabellen, vil verdien av identitetskolonnen fortsette å øke automatisk og øke uendelig, i stedet for å vokse fra bunnen av. Frøverdien til det selvvoksende feltet kan tilbakestilles ved å bruke følgende utsagn:
DBCC CHECKIDENT(TABELL, [RESEED| NORESEED], [1]) Setningen ovenfor vil tvinge frøverdien til den angitte tabellen til å tilbakestilles til 1. Men hvis du ikke vil tilbakestille frøet til 1, kan du erstatte den tredje parameteren med frøverdien du vil bruke. Hvis du vil vite det nåværende frøet i stedet for å tilbakestille det identifiserte frøet, må du bruke NORESEED i stedet for å sette den tredje parameteren. |