SqlSkull


SQL Server IDENTITY_INSERT maakt het mogelijk om expliciete waarden in te voegen in de kolom identiteit van een tabel.

Het IDENTITY_INSERT-statement moet worden ingesteld om expliciete waarde in te voegen voor de kolom identiteit. Standaard is IDENTITY_INSERT uitgeschakeld.

syntaxis

SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }

database_naam
Is de naam van de database waarin de opgegeven tabel bestaat.

schema_naam
Is de naam van het schema waartoe de tabel behoort.,

table_name
Is de naam van een tabel met een identiteitskolom.

laten we eens kijken naar een voorbeeld van SET IDENTITY_INSERT in SQL SERVER.

het volgende voorbeeld laat zien hoe IDENTITY_INSERT wordt gebruikt om de identiteitswaarde expliciet te geven voor de kolom identiteit.

We maken een table-X met een ID van de identiteitskolom. Laten we controleren of we proberen om expliciete waarde door te geven voor identiteit kolom ID.,

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

zoals we zien, geeft het een fout van een expliciete waarde voor de kolom identiteit in tabel X en suggereert het ook dat als we expliciete waarde voor de kolom identiteit willen invoegen, IDENTITY_INSERT moet worden ingeschakeld.

nu proberen we het bovenstaande statement opnieuw uit te voeren na het instellen van IDENTITY_INSERT .

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

zoals we zien , wordt de expliciete waarde voor de kolom identiteit ingevoegd in de tabel.,

in het bovenstaande statement moeten we de kolomlijst specificeren tijdens het invoegen , anders zal het geen expliciete waarde voor de kolom identiteit toestaan en een fout geven.

zoals we zien in het volgende statement, zelfs na IDENTITY_INSERT op , geeft het nog steeds een fout van expliciete waarden voor de kolom identiteit omdat we de kolomnaam moeten specificeren tijdens het invoegen.

Leave a Comment