Alterando o tamanho da coluna no SQL Server


Respostas:


507
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL

6
Cuidado, se você estiver alterando uma coluna em uma tabela de dados muito grande. Você pode causar uma falha (no meu ambiente de qualquer maneira).
precisa saber é o seguinte

55
Também é importante que, se a coluna estiver com atributo NOT NULL, ela tiver que ser mencionada na consulta, caso contrário ela será configurada como NULLpadrão. ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
Suvendu Shekhar Giri

8
Se você tiver um índice em que a coluna que você vai ter que soltá-lo, em seguida, executar o código ALTER TABLE e, em seguida, criar o índice novamente
Sr.PEDRO



19

A execução ALTER COLUMNsem mencionar o atributo NOT NULLresultará na alteração da coluna para anulável, se já não estiver. Portanto, você precisa primeiro verificar se a coluna é anulável e, se não, especificar o atributo NOT NULL. Como alternativa, você pode usar a seguinte instrução que verifica a nulidade da coluna com antecedência e executa o comando com o atributo correto.

IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
    ALTER TABLE [Employee]
        ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE        
    ALTER TABLE [Employee]
        ALTER COLUMN [Salary] NUMERIC(22,5) NULL

6

Selecione a tabela -> Design -> altere o valor em Tipo de dados mostrado na figura a seguir.

insira a descrição da imagem aqui

Salve o design das tabelas.


verifique corretamente pode estar faltando alguma etapa.
Arnav

7
Ferramentas -> Opções ... /> Designers -> Tabela e banco de dados Designers - desmarque a opção "Impedir salvar as alterações que exigem a recriação da tabela"
7anner

Para a maioria das coisas, eu prefiro scripts. Mas para alterações de coluna, eu gosto da interface do usuário. Não se esqueça de verificar NOT NULL, cálculos ou propriedades adicionais da coluna. Basta clicar em Salvar (depois de alterar as configurações no SSMS como @ 7anner notes).
Jacob H

1

Uma abordagem interessante pode ser encontrada aqui: Como ampliar suas colunas sem tempo de inatividade by spaghettidba

Se você tentar ampliar esta coluna com um comando direto "ALTER TABLE", precisará aguardar o SQLServer percorrer todas as linhas e escrever o novo tipo de dados

ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;

Para superar esse inconveniente, existe uma pílula de aumento de coluna mágica que sua mesa pode tomar e é chamada de compactação de linha. (...) Com a compactação de linha, suas colunas de tamanho fixo podem usar apenas o espaço necessário para o menor tipo de dados em que os dados reais se encaixam.

Quando a tabela é compactada no ROWnível, a ALTER TABLE ALTER COLUMNoperação é apenas de metadados.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.