Identitātes ievietošana ir SQL Server atribūts, ko izmanto, ja vēlaties ievietot skaidras vērtības tabulas identitātes kolonnā. Programmā SQL Server pēc noklusējuma identitātes kolonnā nevar ievietot savu vērtību. Bet noteiktos apstākļos identitātes kolonnā vēlaties ievietot savas vērtības, un tieši tad tiek parādīts Identitātes ievietošanas līdzeklis.
Identitātes ievietošana ļauj jums to izdarīt. Pirms saprast, kā lietot identitātes ievietošanu, vispirms sapratīsim, kas ir identitātes kolonna.
CREATE TABLE Employee
(
ID int IDENTITY(1,1),
Name varchar(255),
Salary decimal
)
Šeit ID ir identitātes kolonna. Ievietojot jaunu ierakstu, SQL Server automātiski palielina ID.
Problēma
Pieņemsim, ka migrējat datus no vecas datu bāzes. Vecajā datu bāzē tika saglabāti ID. Arī jaunajā datubāzē jums ir līdzīga struktūra. Tagad migrēšanas laikā vēlaties saglabāt tos pašus vecos ID. Taču SQL Server to neatļaus pēc noklusējuma, jo ID ir identitātes kolonna.
Problēmas risinājums
Šajā gadījumā varat izmantot Identity Insert. Šeit ir sniegta detalizēta rokasgrāmata, kā to izmantot.
Darbības, lai izmantotu identitātes ievietošanu
Pirmkārt, šai konkrētajai tabulai jāieslēdz identitātes ievietošana, kā parādīts tālāk:
SET IDENTITY_INSERT Employee ON
Kad esat to IESLĒGTS, identitātes kolonnā varat ievietot savas vērtības.
Tagad ievietojiet savas vērtības.
INSERT INTO Employee(ID, Name, Salary) VALUES(1, 'John', 50000)
Pēc tam šai tabulai ir jāiestata identitātes ievietošana IZSLĒGTA, kā parādīts tālāk:
SET IDENTITY_INSERT Employee OFF
Iesaistītās funkcijas
SET IDENTITY_INSERT ir SQL Server funkcija, ko izmanto, lai identitātes kolonnā ievietotu skaidras vērtības.
Īss piesardzības vārds: lūdzu, rīkojieties uzmanīgi ar šo funkciju, jo tā var sabojāt secības identitāti, tāpēc tā ir jāizmanto saprātīgi.
Līdzīgas bibliotēkas
Lai gan SQL Server identitātes kolonnu pārvaldīšanai izmanto IDENTITY_INSERT, dažādām DBVS ir līdzīga koncepcija. Piemēram, MySQL AUTO_INCREMENT atribūts arī ļauj datu bāzē iestatīt automātiskās palielināšanas lauku. Oracle līdzvērtīgo funkcionalitāti nodrošina secību un trigeru kombinācija.
Identitātes ievietošana ir spēcīgs līdzeklis, ko nodrošina SQL Server. Tas ir ļoti noderīgi, veicot tādus uzdevumus kā datu migrēšana vai datu kopēšana no vienas datu bāzes uz citu. Tomēr tas ir jāizmanto uzmanīgi, lai izvairītos no nepareizas izmantošanas un kļūdām datu integritātē. Turpiniet izpēti un kodēšanu!
