Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1184
Assunto : SQL Server
Titulo: Transformando uma coluna existente em Identity

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon




Uma das tarefas que não pode ser feita com um simples alter table é adicionar o atributo identity em uma coluna. Existe um truque simples e muito interessante para resolver esse problema.

O alter table tem uma clausula switch que é normalmente utilizada no trabalho com partições, mas pode ser utilizada para fazer algumas mudanças críticas em uma tabela, mudanças que de outra forma dependeriam de criar uma tabela nova e transferir os dados.

Vamos supor que temos uma tabela Teste, com a seguinte estrutura:

create table Teste
([id] int primary key,
valor int)
go

Devemos então criar uma nova tabela com as alterações que desejamos, nesse caso o atributo identity:



create table Teste2
([id] int identity(1,1) primary key,
valor int)
go

Fazemos então a alteração utilizando a instrução alter table da seguinte forma:

alter table teste switch to teste2

Após essa execução, que será rápida, as páginas da tabela Teste terão sido "transferidas" para a tabela teste2, que terá todos os dados quase que instantaneamente.

Os próximos passos são apagar a tabela teste e renomear a tabela teste2.

Vejam mais detalhes em http://cidadaocarioca.blogspot.com.br/2015/03/adicionando-identity-uma-coluna.html

Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br