Ikdienas SQL Server izstrādē identitātes tipa kolonna bieži tiek izmantota kā tabulas struktūras pašpieaugošais numurs. Piemēram, preces numurs, ieraksta sērijas numurs utt. Atsauces uz pašaugošām identificētajām kolonnām ievērojami atvieglo datu bāzes programmu izstrādi, bet dažreiz šis spītīgais lauka veids var radīt arī nepatikšanas.
1. Modificējiet identifikācijas kolonnas lauku vērtības:
Dažreiz, lai īstenotu funkciju, ir nepieciešams mainīt identitātes tipa lauka vērtību, bet šī darbība nav atļauta pēc noklusējuma identitātes kolonnas veida dēļ. Piemēram, ja datu bāzē parasti tiek pievienoti 5 datu gabali, un 2 tiek izdzēsti, tad, ja dati tiek pievienoti vēlreiz, pašaugošajai identifikācijas kolonnai automātiski tiks piešķirta vērtība 6, bet, ja vēlaties piešķirt vērtību 3, ievietojot datus, tas nav atļauts pēc noklusējuma. Ja vēlaties mainīt šī lauka vērtību, varat pilnībā kontrolēt identifikācijas lauka vērtības ievietošanu, joprojām ir metodes, haha.
IESTATĪT IDENTITY_INSERT /[TABULA/] [IESLĒGTS| IZSLĒGTS] Izmantojot iepriekš minēto paziņojumu, jūs varat viegli kontrolēt, vai tabulā automātiski pieaugs pašaugoša identifikatora kolonna, tas ir, vai jums ir atļauts manuāli norādīt identifikatora kolonnas lauka vērtību, ievietojot ierakstu. Ja norādīts kā ieslēgts, ievietošanas laikā var norādīt identificējošā kolonnas lauka vērtību, kas automātiski nepalielina piešķirto vērtību. Protams, ja jūs to izmantojat, jums ir jāizmanto šis paziņojums, lai izslēgtu slēdzi uz noklusējuma stāvokli, pretējā gadījumā lauks automātiski nepalielinās piešķirto vērtību, kad nākamreiz ievietojat datus.
2. Atiestatiet identifikācijas kolonnas lauka vērtību:
Kad daļa datu ieraksta tiek izdzēsta, jaunais datu ieraksts tiek pievienots vēlāk, identifikācijas kolonnas vērtībai būs liels dīkstāves intervāls, kas izskatās ļoti nepatīkami. Pat ja izdzēšat visus tabulas ierakstus, identitātes kolonnas vērtība turpinās automātiski palielināties un palielināsies bezgalīgi, nevis pieaugs no nulles. Pašaugošā lauka sēklas vērtību var atiestatīt, izmantojot šādu paziņojumu:
DBCC CHECKIDENT(TABULA, [ATKĀRTOTI| NORESEED], [1]) Iepriekš minētais paziņojums piespiedīs norādītās tabulas sēklas vērtību atiestatīt uz 1. Tomēr, ja nevēlaties atiestatīt sēklu uz 1, varat aizstāt trešo parametru ar sēklas vērtību, kuru vēlaties izmantot. Ja vēlaties uzzināt pašreizējo sēklu, nevis atiestatīt identificēto sēklu, trešā parametra iestatīšanas vietā jāizmanto NORESEED. |