ALTER TABLE IDENTITY

PERCIFILHO 21/10/2016 10:36:52
#468276
Bom dia, galera!
Alguém aqui utiliza ou já utilizou o Sql Server Compact Edition 4.0 e sabe me dizer se é possível alterar uma coluna (Id) para int Identity?
Creio que se a tabela não tiver registros, dá pra conseguir, mas se a tabela já estiver [Ô]populada[Ô], não sei se é possível.
Já vi em posts as pessoas dizendo para criar uma nova tabela com os campos corretos e copiar os registros da tabela antiga para a tabela nova, mas será que não existe uma outra opção? Estou tentando fazer dessa maneira:
ALTER TABLE [Fornecedor] ALTER COLUMN [Id] int IDENTITY (1,1) NULL
JABA 22/10/2016 16:21:12
#468305
Tente algo assim:

ALTER TABLE Fornecedor ADD id int NOT NULL IDENTITY (1,1) PRIMARY KEY


OBS: Se não funcionar diretamente, tente colocar manualmente o campo como [Ô]auto number[Ô], depois rode a instrução acima novamente.
PERCIFILHO 24/10/2016 08:35:31
#468330
Valeu, Jaba, mas não dá certo. Pelos materiais que encontrei na NET, parece-me que não á possível, então, fica mais fácil re-criar a tabela com a estrutura correta e importar os registros da tabela antiga. O Sql Server Compact é meio [Ô]chato[Ô] nessa parte.
Até mais.
KERPLUNK 24/10/2016 10:06:06
#468332
Realmente não é possível fazer desta maneira. E não é só do Sql Server Compact, na verdade isso não é possível em nenhuma edição, até onde eu sei. O que você poderia fazer é adicionar uma coluna como Identity e em seguida fazer o drop da coluna e torná-la PK
PERCIFILHO 24/10/2016 10:19:43
#468334
Beleza, Kerp. Vou analisar qual é a melhor solução para o meu caso, obrigado.
JABA 24/10/2016 15:08:10
#468361
Citação:

Valeu, Jaba, mas não dá certo. Pelos materiais que encontrei na NET, parece-me que não á possível, então, fica mais fácil re-criar a tabela com a estrutura correta e importar os registros da tabela antiga. O Sql Server Compact é meio [Ô]chato[Ô] nessa parte.


Qual foi o erro que apareceu?
PERCIFILHO 24/10/2016 16:34:21
#468370
Jaba, a mensagem diz que não é possível alterar a coluna, mas já resolvi recriando a tabela com a estrutura correta e importando os registros para ela.
Obrigado mesmo assim.
Tópico encerrado , respostas não são mais permitidas