SqlSkull (Italiano)

SQL Server IDENTITY_INSERT consente di inserire valori espliciti nella colonna identità di una tabella.

L’istruzione IDENTITY_INSERT deve essere impostata su per inserire il valore esplicito per la colonna identity. Per impostazione predefinita IDENTITY_INSERT è DISATTIVATO.

SINTASSI

SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }

database_name
È il nome del database in cui esiste la tabella specificata.

schema_name
È il nome dello schema a cui appartiene la tabella.,

nome_tabella
È il nome di una tabella con una colonna identity.

Diamo un’occhiata a un esempio di SET IDENTITY_INSERT in SQL SERVER.

Il seguente esempio dimostra come IDENTITY_INSERT viene utilizzato per fornire esplicitamente il valore di identità per la colonna identity.

Creiamo una tabella-X che ha un ID colonna di identità. Controlliamo se proviamo a passare un valore esplicito per l’ID della colonna identity.,

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

Come vediamo, fornisce un errore di un valore esplicito per la colonna identity nella tabella X e suggerisce anche che se vogliamo inserire un valore esplicito per la colonna identity, IDENTITY_INSERT deve essere attivato.

Ora proviamo a eseguire di nuovo l’istruzione sopra dopo aver impostato IDENTITY_INSERT SU .

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

Come vediamo , il valore esplicito per la colonna identity viene inserito nella tabella.,

Nell’istruzione precedente , Dobbiamo specificare l’elenco delle colonne durante l’inserimento altrimenti non consentirà il valore esplicito per la colonna identity e genererà un errore.

Come vediamo nella seguente istruzione anche dopo IDENTITY_INSERT ON , fornisce ancora un errore di valori espliciti per la colonna identity poiché dobbiamo specificare il nome della colonna durante l’inserimento.

Leave a Comment