Bara ett sätt finns för att infoga en tidigare definierad värde i en SQL Server identitet fältet , och det är med hjälp av " identitet insats . " SQL Server genererar ett värde i en identitet fältet när en post skapas , och sedan försvarar det värdet från uppdateringen . Men när det är nödvändigt för att kopiera data mellan tabeller , eller att uttryckligen ange ett värde när du skapar nya data , med hjälp av " insert set identitet " före och efter insatsen kommer att avsätta dessa restriktioner tillräckligt länge för att slutföra uppgiften . Instruktioner
1
Logga in på SQL Server via din SQL -gränssnittet , och se till att rätt databas refereras .
2
Skapa insatsen SQL-uttryck . När du utför en identitet insats , kan en asterisk inte användas för att representera fälten , de måste specificeras . I följande exempel , " id " är identiteten fältet
från en tabell till en annan : .
Infoga i Tabell1 ( id , beskrivning , typ ) väljer id , beskrivning , typ från table2
att uttryckligen ange ett värde :
infoga i Tabell1 ( id , beskrivning , typ ) värdena ( 1 , ' Test Beskrivning ' , ' A Type " ) Addera 3
set identitet insats för måltabellen ' på ' genom att skriva : set identity_insert table1 på
4
Kör SQL iNSERT-sats skapas i steg 2
5
. ange identitet insats för måltabellen ' off ' genom att skriva in : set identity_insert table1 off Addera