SqlSkull (Dansk)


SQL Server IDENTITY_INSERT giver eksplicitte værdier, der skal indsættes i identitet kolonne i en tabel.

IDENTITY_INSERT-sætningen skal indstilles for at indsætte eksplicit værdi for identitetskolonne. Som standard er IDENTITY_INSERT slået fra.

syntaks

SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }

databasenavn
er navnet på den database, hvor den specificerede tabel findes.

schema_name
er navnet på det skema, som tabellen tilhører.,

table_name
er navnet på en tabel med en identitetskolonne.

lad os se på et eksempel på SET IDENTITY_INSERT I s .l SERVER.

følgende eksempel viser, hvordan IDENTITY_INSERT bruges til en given identitetsværdi eksplicit for identitetskolonne.

Vi opretter en tabel-which, der har et identitetskolonne-ID. Lad os kontrollere, om vi forsøger at videregive eksplicit værdi for identitetskolonne ID.,

CREATE TABLE X (ID INT IDENTITY(1,1) ) ;INSERT INTO X (ID) VALUES (1);

Som vi ser, giver det en fejl med en eksplicit værdi for identitetskolonnen i tabel.og antyder også, at hvis vi vil indsætte eksplicit værdi for identitetskolonne, skal IDENTITY_INSERT være tændt.

nu forsøger vi at køre over sætningen igen efter indstilling IDENTITY_INSERT på .

SET IDENTITY_INSERT dbo.X ONINSERT INTO X (ID) VALUES (1);SET IDENTITY_INSERT dbo.X OFF 

Som vi ser , indsættes eksplicit værdi for identitetskolonne i tabellen.,

i ovenstående erklæring skal vi angive kolonnelisten under indsatsen , ellers tillader det ikke eksplicit værdi for identitetskolonne og kaster en fejl.

som vi ser i følgende erklæring , selv efter IDENTITY_INSERT ON, giver det stadig en fejl med eksplicitte værdier for identitetskolonne, da vi skal angive kolonnenavnet under indsatsen.

Leave a Comment