ZESTAW IDENTITY_INSERT (Transact-SQL)
Umożliwia jawne wartości do identyfikacji kolumna tabela.
Składnia
SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
Argumenty
database_name
Jest to nazwa bazy danych, w którym znajduje się w określonej tabela .schema_name
Jest to nazwa schematu, do której należy tabela .table
Jest nazwą tabela z kolumna.
Uwagi
W dowolnym czasmoże mieć tylko jedną tabela w sesja IDENTITY_INSERT właściwość zestaw na.Jeśli tabela ma już tej właściwość zestaw na i ustaw IDENTITY_INSERT na instrukcja jest wystawiony w innej tabela, SQL Server zwraca komunikat o błędzie, aby Państwa, ustaw IDENTITY_INSERT jest już na i raporty tabela jest zestaw na for.
Jeśli wartość wstawiana jest większy niż bieżąca wartość tożsamości w tabela SQL Server automatycznie używa nowej wartości wstawionego jako bieżącą wartość tożsamości.
Ustawienie ustawianie IDENTITY_INSERT jest zestaw na wykonać lub czas jednostkowy i nie analizować czas.
Uprawnienia
Użytkownik musi własnej tabela lub ZMIEŃ uprawnienie dla tabela.
Przykłady
Poniższy przykład tworzy tabela o tożsamości kolumna i pokazuje, jak SET IDENTITY_INSERT ustawienie można wypełnić przerwy w wartościach tożsamości, spowodowane przez DELETE instrukcja.
USE AdventureWorks2008R2;
GO
-- Create tool table.
CREATE TABLE dbo.Tool(
ID INT IDENTITY NOT NULL PRIMARY KEY,
Name VARCHAR(40) NOT NULL
)
GO
-- Inserting values into products table.
INSERT INTO dbo.Tool(Name) VALUES ('Screwdriver')
INSERT INTO dbo.Tool(Name) VALUES ('Hammer')
INSERT INTO dbo.Tool(Name) VALUES ('Saw')
INSERT INTO dbo.Tool(Name) VALUES ('Shovel')
GO
-- Create a gap in the identity values.
DELETE dbo.Tool
WHERE Name = 'Saw'
GO
SELECT *
FROM dbo.Tool
GO
-- Try to insert an explicit ID value of 3;
-- should return a warning.
INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel')
GO
-- SET IDENTITY_INSERT to ON.
SET IDENTITY_INSERT dbo.Tool ON
GO
-- Try to insert an explicit ID value of 3.
INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel')
GO
SELECT *
FROM dbo.Tool
GO
-- Drop products table.
DROP TABLE dbo.Tool
GO