Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gitavares

Alter table

Recommended Posts

Oi gente!

 

O que tem errado aqui?

ALTER TABLE Filial ALTER COLUMN codFilial smallint NOT NULL IDENTITY (1, 1) NOT FOR REPLICATION;

Se eu fizesse um CREATE TABLE usando isso aí funcionaria. Eu testei. Mas porque usando o ALTER TABLE não funciona?? Já procurei em todo lugar, e não vi solução. Não quereria ter que dropar todas as tabelas e fazer de novo...

 

Eu uso o SQL Server 2000. E preciso fazer tudo via Query Analyzer.

 

Ajudem-me, pls... Estou cansada disso já...

 

valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ALTER TABLE Filial MODIFY codFilial smallint NOT NULL IDENTITY (1, 1) NOT FOR REPLICATION;

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi! O MODIFY não funciona no SQL Server 2000.. mas só por desencargo de consciência, testei novamente.Mesmo assim, obrigada!Alguém tem outra idéia??

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola,

 

essa coluna codFilial já é identity?

 

se for não precisa informar novamente, dai você só executa isso:

ALTER TABLE Filial ALTER COLUMN codFilial smallint NOT NULL;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nops. inicialmente, coloquei essa coluna assim:

 

codFilial smallint NOT NULL,

Apenas isso. Só que vi a necessidade de colocar o IDENTITY...

 

:( ALguém sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

detona ela e cria novamente como identity:

 

ALTER TABLE Filial DROP COLUMN codFilial;ALTER TABLE Filial ADD codFilial smallint IDENTITY (1, 1) NOT NULL;

se não puder perder os registros atuais faz o seguinte:

renomeia a coluna atual pra outro nome qualquer, depois insere a nova coluna como identity, dai faz um update na nova coluna com os dados da coluna antiga, depois mata a coluna antiga

 

OBS.: qdo. for fazer o ajuste da coluna antiga pra nova provavelmente a nova vai reclamar pq. ela é identity, dai você usa essa dica que resolve: http://forum.imasters.com.br/index.php?showtopic=224854

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, como eu não tinha dados, derrubei o banco e refiz como eu queria.mas fiquei bastante curiosa em saber a resposta... muita dificuldade em dar um ALTER TABLE desse tipo.. :)mas valeu!! obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, como eu não tinha dados, derrubei o banco e refiz como eu queria.mas fiquei bastante curiosa em saber a resposta... muita dificuldade em dar um ALTER TABLE desse tipo.. :)mas valeu!! obrigada

pois é Giselle, em alguns casos é melhor fazer um drop e criar novamente, e mesmo se precisar dos dados é melhor fazer o esquema de criar um novo e copiar do antigo, para depois apagar...t+ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.