În dezvoltarea zilnică a SQL Server, coloana de identitate a tipului Identitate este adesea folosită ca număr auto-crescător al unei structuri de tabel. De exemplu, numărul articolului, numărul de serie al registrului etc. Referințele la coloane identificate care cresc singure facilitează foarte mult dezvoltarea programelor de baze de date, dar uneori acest tip de câmp încăpățânat poate cauza și unele probleme.
1. Modificați valorile câmpului din coloana de identificare:
Uneori, pentru a implementa o funcție, este necesară modificarea valorii unui câmp de tip Identitate auto-creștere, dar această operație nu este permisă implicit din cauza tipului coloanei de identitate. De exemplu, dacă se adaugă 5 date în mod normal în baza de date și 2 sunt șterse în acest moment, atunci dacă datele sunt adăugate din nou, coloana de identificare auto-crescătoare va primi automat o valoare de 6, dar dacă doriți să atribuiți o valoare de 3 la inserarea datelor, acest lucru nu este permis implicit. Dacă vrei să schimbi valoarea acestui câmp, poți controla complet inserarea valorii câmpului de identificare, încă există metode, haha.
PUNE IDENTITY_INSERT /[MASĂ/] [ON| OPRIT] Folosind afirmația de mai sus, poți controla cu ușurință dacă o coloană de identificator care crește singură într-un tabel va crește automat, adică dacă ai voie să specifici manual valoarea câmpului coloanei de identificator atunci când inserezi o înregistrare. Dacă este specificat ca on, poți specifica valoarea câmpului de coloană de identificare la inserare, ceea ce nu crește automat valoarea atribuită. Desigur, dacă îl folosești, trebuie să folosești această instrucțiune pentru a opri comutatorul la starea implicită oprită, altfel câmpul nu va crește automat valoarea atribuită când introduci datele data viitoare.
2. Resetează valoarea câmpului coloanei de identificare:
Când o parte din înregistrarea de date este ștearsă, iar noua înregistrare de date este adăugată ulterior, valoarea coloanei de identificare va avea un interval mare de inactivitate, ceea ce pare foarte neplăcut. Chiar dacă ștergi toate înregistrările din tabel, valoarea coloanei de identitate va continua să crească automat și să crească la nesfârșit, în loc să crească de la zero. Valoarea sămânței câmpului care se autodezvoltă poate fi resetată folosind următoarea afirmație:
DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1]) Afirmația de mai sus va forța resetarea valorii seed a tabelului specificat la 1. Totuși, dacă nu vrei să resetezi seed-ul la 1, poți înlocui al treilea parametru cu valoarea seed pe care vrei să o folosești. Dacă vrei să știi seed-ul curent în loc să resetezi seed-ul identificat, trebuie să folosești NORESEED în loc să setezi al treilea parametru. |