SQL Server IDENTITY_INSERT gjør eksplisitte verdier som skal settes inn i identiteten kolonne i en tabell.
IDENTITY_INSERT uttalelse må være innstilt PÅ å sette inn en eksplisitt verdi for id-kolonnen. Som standard IDENTITY_INSERT er slått AV.
SYNTAKS
SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }
databasenavn
Er navnet på databasen der den angitte tabellen finnes.
schema_name
Er navnet på skjemaet som tabellen tilhører.,
table_name
Er navnet på en tabell med en identitet kolonne.
la oss Se på et eksempel på SET IDENTITY_INSERT i SQL SERVER.
Følgende eksempel viser hvordan IDENTITY_INSERT er brukt til en gitt identitet verdi eksplisitt for id-kolonnen.
Vi oppretter en tabell -X som har en identitet ID-kolonnen. Kan sjekke hvis vi prøver å passere eksplisitt verdi for id-ID-kolonnen.,
CREATE TABLE X (ID INT IDENTITY(1,1) ) ;INSERT INTO X (ID) VALUES (1);
Som vi ser, Det gir en feil av en eksplisitt verdi for identitet kolonne i tabell X og også noe som tyder på at hvis vi ønsker å sette inn en eksplisitt verdi for identitet kolonne deretter IDENTITY_INSERT må være slått PÅ.
Nå prøver vi å kjøre ovennevnte uttalelse igjen etter innstilling IDENTITY_INSERT PÅ .
SET IDENTITY_INSERT dbo.X ONINSERT INTO X (ID) VALUES (1);SET IDENTITY_INSERT dbo.X OFF
Som vi ser , eksplisitt verdi for identitet kolonnen er satt inn i tabellen.,
I ovennevnte uttalelse , må Vi angi kolonnen listen under sett inn-ellers vil det ikke la eksplisitt verdi for identitet kolonne og kaster en feilmelding.
Som vi ser i følgende uttalelse selv etter IDENTITY_INSERT PÅ , fortsatt det gir en feil av eksplisitte verdier for identitet kolonne som vi har til å angi kolonnen navn under sett inn.