sqlskull (Polski)


SQL Server IDENTITY_INSERT umożliwia wstawianie jawnych wartości do kolumny identity tabeli.

Instrukcja IDENTITY_INSERT musi być włączona, aby wstawić jawną wartość kolumny identity. Domyślnie IDENTITY_INSERT jest wyłączone.

składnia

SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }

database_name
jest nazwą bazy danych, w której istnieje określona tabela.

schema_name
to nazwa schematu, do którego należy tabela.,

table_name
to nazwa tabeli z kolumną identity.

przyjrzyjmy się przykładowi SET IDENTITY_INSERT w SQL SERVER.

poniższy przykład pokazuje, w jaki sposób IDENTITY_INSERT jest używany do podanej wartości tożsamości jawnie dla kolumny identity.

tworzymy table-X, które mają ID kolumny ID. Pozwala sprawdzić, czy staramy się przekazać jawną wartość dla ID kolumny ID.,

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

jak widzimy, daje błąd jawnej wartości dla kolumny identity w tabeli X, a także sugeruje, że jeśli chcemy wstawić jawną wartość dla kolumny identity, to IDENTITY_INSERT musi być włączony.

teraz próbujemy uruchomić powyższe polecenie ponownie po włączeniu IDENTITI_INSERT .

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

jak widzimy , Jawna wartość kolumny identity jest wstawiana do tabeli.,

w powyższej instrukcji musimy określić listę kolumn podczas wstawiania , w przeciwnym razie nie pozwoli to na jawną wartość kolumny identity i wyrzuci błąd.

jak widzimy w poniższej instrukcji nawet po IDENTITY_INSERT ON, nadal daje błąd jawnych wartości dla kolumny identity, ponieważ musimy podać nazwę kolumny podczas wstawiania.

Leave a Comment