Resumo: neste tutorial, você aprenderá a usar o SQL Server ALTER TABLE ALTER COLUMN
instrução para modificar uma coluna de uma tabela.
O SQL Server permite que você execute as seguintes alterações em uma coluna existente de uma tabela:
- Modifique o tipo de dados
- Altere o tamanho
- Adicione uma
NOT NULL
restrição
Modifique o tipo de dados da coluna
Para modificar o tipo de dados de uma coluna, você usa a seguinte instrução:
Code language: SQL (Structured Query Language) (sql)
O novo tipo de dados deve ser compatível com o antigo, caso contrário, você obterá um erro de conversão caso a coluna tenha dados e não consiga converter.
Veja o exemplo a seguir.
Primeiro, crie uma nova tabela com uma coluna cujo tipo de dados seja INT
:
Code language: SQL (Structured Query Language) (sql)
Em segundo lugar, insira algumas linhas na tabela:
Code language: SQL (Structured Query Language) (sql)
Segundo, mo difira o tipo de dados da coluna de INT
a VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
Terceiro, insira uma nova linha com dados de string de caracteres:
Code language: SQL (Structured Query Language) (sql)
Quarto, modifique o tipo de dados da coluna de VARCHAR
de volta para INT
:
Code language: SQL (Structured Query Language) (sql)
O SQL Server emitiu o seguinte erro:
Code language: SQL (Structured Query Language) (sql)
Alterar o tamanho de uma coluna
A instrução a seguir cria uma nova tabela com uma coluna cujo tipo de dados é VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
Vamos inserir alguns dados de amostra na tabela t2:
Code language: SQL (Structured Query Language) (sql)
Você pode aumentar o tamanho da coluna da seguinte maneira:
Code language: SQL (Structured Query Language) (sql)
No entanto, quando você diminui o tamanho do coluna, o SQL Server verifica os dados existentes para ver se pode converter dados com base no novo tamanho. Se a conversão falhar, o SQL Server encerrará a instrução e emitirá uma mensagem de erro.
Por exemplo, se você diminuir o tamanho da coluna c
para 5 caracteres:
Code language: SQL (Structured Query Language) (sql)
O SQL Server emitiu o seguinte erro:
Code language: SQL (Structured Query Language) (sql)
Adicionar uma restrição NOT NULL a uma coluna anulável
A seguinte instrução cria uma nova tabela com uma coluna anulável:
Code language: SQL (Structured Query Language) (sql)
A instrução a seguir insere algumas linhas na tabela :
Code language: SQL (Structured Query Language) (sql)
Se você deseja adicionar a restrição NOT NULL
à coluna c
, você deve atualizar NULL para não nulo primeiro, por exemplo:
Code language: SQL (Structured Query Language) (sql)
E, em seguida, adicione o NOT NULL
constraint:
Code language: SQL (Structured Query Language) (sql)
Neste tutorial, você aprendeu como usar o SQL Server ALTER TABLE ALTER COLUMN
para modificar algumas propriedades de uma coluna existente.