IDENTITY EM CAMPO NUMA TABELA J? EXISTENTE
Tem como colocar IDENTITY em campo chave de tabela já existente no SQL Server 2014
Tenho uma coluna Código como Int e que fazer ela virar auto increment
tem como ou só apagando a coluna e colocando novamente como Identity
Caso ter que inserir novamente a coluna como Identity, tem uma maneira simples de fazer ela ficar como a primeira coluna? pq quando insere Novos campos ele sempre vai pro final da tabela
Grato
Tenho uma coluna Código como Int e que fazer ela virar auto increment
tem como ou só apagando a coluna e colocando novamente como Identity
Caso ter que inserir novamente a coluna como Identity, tem uma maneira simples de fazer ela ficar como a primeira coluna? pq quando insere Novos campos ele sempre vai pro final da tabela
Grato
Já tentou isso ?
SET IDENTITY_INSERT SuaTabela OFF
Caso não funcione, vc pode tentar trabalhar com SEQUENCE
http://www.linhadecodigo.com.br/artigo/3378/utilizando-sequences-no-microsoft-sql-server-2012.aspx
SET IDENTITY_INSERT SuaTabela OFF
Caso não funcione, vc pode tentar trabalhar com SEQUENCE
http://www.linhadecodigo.com.br/artigo/3378/utilizando-sequences-no-microsoft-sql-server-2012.aspx
Citação::
Já tentou isso ?
SET IDENTITY_INSERT SuaTabela OFF
Caso não funcione, vc pode tentar trabalhar com SEQUENCE
http://www.linhadecodigo.com.br/artigo/3378/utilizando-sequences-no-microsoft-sql-server-2012.aspx
A intensão é alterar uma coluna já existente. Colocar uma coluna ou criar uma tabela com IDENTITY sem problema
Testei agora com SqlServer 2012,crei uma tabela com primarykey normal tipo cod int.
Adicionei um registro nela e depois mudei para IDENTITY e funcionou normal
Uso o Sql Manager For Sql Server.
Adicionei um registro nela e depois mudei para IDENTITY e funcionou normal
Uso o Sql Manager For Sql Server.
Tenta isso
ALTER TABLE SuaTabela ALTER COLUMN ColunaCodigo INT IDENTITY (1, 1)
ALTER TABLE SuaTabela ALTER COLUMN ColunaCodigo INT IDENTITY (1, 1)
Citação::
Testei agora com SqlServer 2012,crei uma tabela com primarykey normal tipo cod int.
Adicionei um registro nela e depois mudei para IDENTITY e funcionou normal
Uso o Sql Manager For Sql Server.
Via código
Citação::
Tenta isso
ALTER TABLE SuaTabela ALTER COLUMN ColunaCodigo INT IDENTITY (1, 1)
Já tinha testado assim
Não aceita
Via script não tem como, terá que alterar pelo design da tabela.
Citação::
Via script não tem como, terá que alterar pelo design da tabela.
Isso é impossÃvel... Tudo que se altera no [Ô]design da tabela[Ô] é intrinsicamente um comando SQL. Pode até não ser um comando só, que seja um script mais longo, ainda assim, é sempre possÃvel.
Ok KERPLUNK, com uma linha não tem como, mas com 3 sim kkkkk
tenta assim JCM0867
crie uma tabela igual a original mas com o campo já com o identity
feito isso só executar
Alter Table NomeTabelaOriginal switch to NovaTabela
drop NomeTabelaOriginal
exec sp_rename [ô]NovaTabela[ô],[ô]NomeTabelaOriginal [ô]
antes de dar um drop na tabela original, confirme se os dados foram transferidos.
tenta assim JCM0867
crie uma tabela igual a original mas com o campo já com o identity
feito isso só executar
Alter Table NomeTabelaOriginal switch to NovaTabela
drop NomeTabelaOriginal
exec sp_rename [ô]NovaTabela[ô],[ô]NomeTabelaOriginal [ô]
antes de dar um drop na tabela original, confirme se os dados foram transferidos.
Tome cuidado ao querer usar campo do tipo IDENTITY como se fosse um simples auto incremento, pois quando a instância é reiniciada ele pula cerca de 1000 números, isso acontece desde o SQL Server 2012
Se esses não resolveram. Acredito que vc vai ter que;
1: Criar nova coluna com IDENTITY
2: Desativar o Identity ( como mostra acima ) da nova coluna
3: dar um update com os dados da coluna original
4: deletar a coluna original:
5: ativar o identity
6: renomear a nova coluna
1: Criar nova coluna com IDENTITY
2: Desativar o Identity ( como mostra acima ) da nova coluna
3: dar um update com os dados da coluna original
4: deletar a coluna original:
5: ativar o identity
6: renomear a nova coluna
Tópico encerrado , respostas não são mais permitidas