Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 12402|Odgovoriti: 3

[Vir] Posodobite način delovanja samorastočega ID-stolpca v SQL Server bazi podatkov

[Kopiraj povezavo]
Objavljeno na 23. 08. 2018 12:20:44 | | | |
Pri vsakodnevnem razvoju SQL Serverja se stolpec identitete tipa Identiteta pogosto uporablja kot samonaraščajoče število strukture tabele. Na primer, številka izdelka, serijska številka zapisa itd. Sklicevanja na samorastoče identificirane stolpce močno olajšajo razvoj programov za baze podatkov, vendar lahko ta trdovratna vrsta polja povzroči tudi težave.

1. Spremenite vrednosti polj v identifikacijskem stolpcu:

Včasih je za implementacijo funkcije potrebno spremeniti vrednost polja tipa Identiteta samo-rastoče, vendar ta operacija privzeto ni dovoljena zaradi vrste stolpca identitete. Na primer, če je v bazo podatkov normalno dodanih 5 kosov podatkov, in sta 2 v tem trenutku izbrisana, potem če se podatki ponovno dodajo, bo samorastoči identifikacijski stolpec samodejno dobil vrednost 6, vendar če želite ob vnosu podatkov dodeliti vrednost 3, to privzeto ni dovoljeno. Če želiš spremeniti vrednost tega polja, lahko popolnoma nadzoruješ vstavljanje vrednosti identifikacijskega polja, še vedno obstajajo metode, haha.

NASTAVI IDENTITY_INSERT /[MIZA/] [VKLOP| IZKLOPLJENO]
Z uporabo zgornje izjave lahko enostavno nadzorujete, ali se bo samorastoči stolpec identifikatorja v tabeli samodejno povečal, torej ali je dovoljeno ročno določiti vrednost polja stolpca identifikatorja ob vstavljanju zapisa. Če je navedeno kot vklopljeno, lahko ob vstavljanju določite vrednost identifikacijskega polja stolpca, kar samodejno ne poveča dodeljene vrednosti. Seveda, če ga porabiš, moraš uporabiti to izjavo, da izklopiš stikalo za privzeto stanje, sicer polje ne bo samodejno povečalo dodeljene vrednosti, ko naslednjič vneseš podatke.

2. Ponastavite vrednost polja v identifikacijskem stolpcu:

Ko je del podatkovnega zapisa izbrisan, novi podatkovni zapis pa dodan kasneje, bo vrednost identifikacijskega stolpca imela dolg prosti interval, kar je videti zelo neprijetno. Tudi če izbrišete vse zapise v tabeli, se bo vrednost stolpca identitete samodejno in neskončno povečevala, namesto da bi rasla iz nič. Vrednost semen samorastočega polja lahko ponastavimo z naslednjo izjavo:

DBCC CHECKIDENT(TABELA, [RESEED| NORESEED], [1])
Zgornja izjava bo prisilila začetno vrednost določene tabele, da se ponastavi na 1. Če pa ne želite ponastaviti semena na 1, lahko tretji parameter zamenjate z vrednostjo semena, ki jo želite uporabiti. Če želite poznati trenutno seme namesto ponastavitve identificiranega semena, morate uporabiti NORESEED namesto nastavljanja tretjega parametra.




Prejšnji:SQL Server 2012 samodejno raste stolpce s težavami s preskokom vrednosti
Naslednji:Windows ne uspe zagnati storitve Redis, napaka 1067: Proces se nepričakovano zaključi.
 Najemodajalec| Objavljeno na 23. 08. 2018 12:57:08 |
1. Ko so vsi podatki v tabeli izbrisani, se samodejno poveča na nič. ( skrajšaj tabelo TableName )

2. Ne brišite podatkov tabele, temveč neposredno ponastavite vrednost samodejne rasti. (DBCC CHECKIDENT('TableName', RESEED, 0)
 Najemodajalec| Objavljeno na 23. 08. 2018 13:01:32 |
 Najemodajalec| Objavljeno na 13. 02. 2019 09:59:15 |
Oglejte si trenutne vrednosti samopovečevalnih stolpcev v tabeli:
    DBCC CHECKIDENT (TableName)

Spremenite trenutno vrednost samonaraščajočega stolpca v tabeli:
    DBCC CHECKIDENT (TableName, RESEED, value)
    RESEED ni ime stolpca, temveč je zapisano na fiksni način.


Na primer, če želim spremeniti trenutno vrednost samopovečujočega stolpca v tabeli deljenja na 30, lahko uporabim naslednji ukaz
DBCC CHECKIDENT (Divizija, RESEED, 30)
Nato uporabi
DBCC CHECKIDENT (Divizija)
Lahko vidite, da je trenutna vrednost 30
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com