SqlSkull (Română)


SQL Server IDENTITY_INSERT permite valori explicite pentru a fi introdus în coloană de identitate a unui tabel.

declarația IDENTITY_INSERT trebuie să fie setat pe pentru a insera valoare explicită pentru coloana de identitate. În mod implicit IDENTITY_INSERT este oprit.

sintaxa

SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }

database_name
este numele bazei de date în care există tabelul specificat.

schema_name
este numele schemei din care face parte tabelul.,

table_name
este numele unui tabel cu o coloană de identitate.

să ne uităm la un exemplu de set IDENTITY_INSERT în SQL SERVER.

următorul exemplu demonstrează modul în care IDENTITY_INSERT este utilizat pentru a dat valoare de identitate în mod explicit pentru coloana de identitate.

creăm un tabel-X care are un ID de coloană de identitate. Să verificăm dacă încercăm să transmitem o valoare explicită pentru ID-ul coloanei de identitate.,

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

după Cum vom vedea, dă o eroare de o valoare explicită pentru coloana identității în masă X și, de asemenea, sugerează că, dacă vrem să introduceți valoare explicită pentru coloană de identitate atunci IDENTITY_INSERT trebuie să fie pornit.

acum vom încerca să ruleze mai sus declarație din nou după setarea IDENTITY_INSERT pe .

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

după cum vedem , valoarea explicită pentru coloana de identitate este inserată în tabel.,

în declarația de mai sus , trebuie să specificăm lista de coloane în timpul inserării, altfel nu va permite o valoare explicită pentru coloana de identitate și va arunca o eroare.după cum vedem în următoarea declarație, chiar și după IDENTITY_INSERT pe, încă dă o eroare de valori explicite pentru coloana de identitate, deoarece trebuie să specificăm numele coloanei în timpul inserării.

Leave a Comment