Usuário com melhor resposta
INSERÇÃO DE DADOS EM CAMPO IDENTITY AUTOINCREMENTO

Pergunta
-
Respostas
-
Boa tarde Luiz, é possível sim, veja nesse link!!!
http://ricardospinoza.wordpress.com/2012/10/17/sql-server-desabilitar-e-habilitar-campo-identity/
Abraço!!!
Diego de O. Neves |Analista Desenvolvedor .NET
Microsoft MCP | ITIL® V3 Foundation- Marcado como Resposta luiz_carlos quarta-feira, 30 de julho de 2014 12:17
Todas as Respostas
-
Boa tarde Luiz, é possível sim, veja nesse link!!!
http://ricardospinoza.wordpress.com/2012/10/17/sql-server-desabilitar-e-habilitar-campo-identity/
Abraço!!!
Diego de O. Neves |Analista Desenvolvedor .NET
Microsoft MCP | ITIL® V3 Foundation- Marcado como Resposta luiz_carlos quarta-feira, 30 de julho de 2014 12:17
-
Diego,
Você vai precisar alterar o IDENTITY_INSERT para sua tabela, assim você poderá inserir códigos fora da ordem, como você está precisando.
Veja um exemplo abaixo:
CREATE TABLE TB_TESTE ( ID_CLIENTE TINYINT IDENTITY (1, 1) NOT NULL, NM_CLIENTE VARCHAR(20 ) NOT NULL ) INSERT INTO TB_TESTE VALUES ('CLIENTE 1' ); INSERT INTO TB_TESTE VALUES ('CLIENTE 2' ); INSERT INTO TB_TESTE VALUES ('CLIENTE 3' ); SELECT * FROM TB_TESTE DELETE FROM TB_TESTE WHERE ID_CLIENTE = 2 SELECT * FROM TB_TESTE SET IDENTITY_INSERT TB_TESTE ON INSERT INTO TB_TESTE (ID_CLIENTE, NM_CLIENTE) VALUES ( 2, 'CLIENTE 2 B'); SET IDENTITY_INSERT TB_TESTE OFF SELECT * FROM TB_TESTE
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,
Durval RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil" -
Diego,
Veja se estes outros exemplos podem ajudar:
-- Utilizando - Função - Identity no Select Into -- select identity(int, 1,1) As Seq, name into #teste from sys.sysdatabases
-- Criando um Seqüêncial sem o Identity -- Create Table #Sequencial (Sequencial Int Identity(1,1), Campo1 Int, Campo2 Int, Campo3 Int) Insert Into #Sequencial Values(1,2,3) Insert Into #Sequencial Values(4,5,6) Insert Into #Sequencial Values(7,8,9) Insert Into #Sequencial Values(10,11,12) Select * from #Sequencial SELECT (SELECT COUNT(Sequencial) FROM #Sequencial AS TInt Where TInt.Sequencial >= TOut.Sequencial) As SEQ, Campo1, Campo2, Campo3 FROM #Sequencial AS TOut ORDER BY SEQ ASC
-- Exemplo - Reorganizando - Identity através de variável --
Declare @Identity Int ---Refazendo numeração Controle de Entrada - Matéria Prima --- Set @Identity=(Select Ident_Current('CTEntrada_PQC')) DBCC CheckIdent('CTEntrada_PQC',Reseed,@Identity)
-- Exemplo - Default Values + Set Identity_Insert -- Create Table InserirValores (Codigo Int Identity(1,1)) Insert Into InserirValores Default Values Go 20 Select * from InserirValores Delete From InserirValores Where Codigo In (2,4,6,8,10) Select * from InserirValores Set Identity_Insert InserirValores ON Insert Into InserirValores (Codigo) Values (2) Set Identity_Insert InserirValores OFF Insert Into InserirValores Default Values
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com