SqlSkull (Português)


SQL Server IDENTITY_INSERT permite inserir valores explícitos na coluna de identidade de uma tabela.

a declaração IDENTITY_INSERT deve ser definida para inserir um valor explícito para a coluna identidade. Por omissão, o IDENTITY_ insert está desligado.

sintaxe

SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }

banco de dados_ Nome
é o nome da base de dados na qual a tabela especificada existe.

schema_name
é o nome do esquema ao qual a tabela pertence.,

table_name
é o nome de uma tabela com uma coluna de identidade.

permite ver um exemplo de IDENTITY_ INSERT no servidor SQL.

seguindo exemplo, demonstre como IDENTITY_INSERT é usado para dado valor de identidade explicitamente para a coluna de identidade.

criamos uma tabela-X que tem um ID de coluna de identidade. Vamos verificar se tentamos passar o valor explícito para o ID da coluna de identidade.,

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

Como podemos ver, Ele dá um erro de um valor explícito para a coluna de identidade na tabela X e também sugerindo que, se quisermos inserir valor explícito para a coluna de identidade, em seguida, IDENTITY_INSERT deve estar ativado.

agora nós tentamos executar acima da declaração novamente depois de definir IDENTITY_ insert ON .

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

conforme vemos , o valor explícito para a coluna de identidade é inserido na tabela.,

na declaração acima , devemos especificar a lista de colunas durante a inserção, caso contrário não permitirá um valor explícito para a coluna identidade e lançar um erro.

Como vemos na seguinte declaração, mesmo após IDENTITY_INSERT ON, ainda assim ele dá um erro de valores explícitos para a coluna identidade como temos que especificar o nome da coluna durante a inserção.

Leave a Comment