SQL Server IDENTITY_INSERT tillåter explicita värden som ska infogas i kolumnen identitet i en tabell.
identity_insert-satsen måste anges för att infoga explicit värde för identitetskolumn. Som standard är IDENTITY_INSERT avstängd.
SYNTAX
SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }
databasnamn
är namnet på databasen där den angivna tabellen finns.
schema_name
är namnet på schemat som tabellen tillhör.,
table_name
är namnet på en tabell med en identitetskolumn.
låt oss Titta på ett exempel på UPPSÄTTNING IDENTITY_INSERT i SQL SERVER.
Följande exempel visar hur IDENTITY_INSERT används för att ange identitetsvärde explicit för identitetskolumn.
Vi skapar en tabell-X som har ett identitetskolumn-ID. Låt oss kontrollera om vi försöker skicka explicit värde för identitetskolumn-ID.,
CREATE TABLE X (ID INT IDENTITY(1,1) ) ;INSERT INTO X (ID) VALUES (1);
som vi ser ger det ett fel av ett explicit värde för identitetskolumnen i tabell X och föreslår också att om vi vill infoga explicit värde för identitetskolumnen måste IDENTITY_INSERT slås på.
nu försöker vi köra ovanstående uttalande igen efter att du har ställt in IDENTITY_INSERT på .
SET IDENTITY_INSERT dbo.X ONINSERT INTO X (ID) VALUES (1);SET IDENTITY_INSERT dbo.X OFF
som vi ser infogas explicit värde för identitetskolumnen i tabellen.,
i ovanstående uttalande måste vi ange kolumnlistan under insatsen annars kommer det inte att tillåta explicit värde för identitetskolumnen och kasta ett fel.
som vi ser i följande uttalande även efter IDENTITY_INSERT på, ger det fortfarande ett fel med uttryckliga värden för identitetskolumn eftersom vi måste ange kolumnnamnet under insatsen.