ALTER TABLE
Use o comando ALTER TABLE para alterar
as características de uma tabela existente e de suas colunas. É possível
incluir, eliminar e alterar colunas, além de configurar manualmente o valor de campos
do tipo INCR.
Sintaxe
ALTER TABLE [database_name.]table_name
SET INCR value
ADD [COLUMN] column_name data_type [ NODEFAULT | NOMODIFY | HIDDEN ]
DROP [COLUMN] column_name
ALTER [COLUMN] column_name SET NOMODIFY { TRUE | FALSE }
ALTER [COLUMN] column_name SET HIDDEN { TRUE | FALSE }
ALTER [COLUMN] column_name SET NODEFAULT { TRUE | FALSE }
ALTER [COLUMN] column_name SET WIDTH value;É
possível especificar mais de uma configuração ADD, DROP
ou ALTER em um único comando ALTER TABLE.
Exemplo
alter table mytab add col3 real;Configurando valores de incremento manualmente
Uma
coluna do tipo INCR é usada para fornecer a cada linha em uma
tabela um número exclusivo, como a coluna Serial na tabela
alerts.status. Em cada inserção, o valor de incremento atual é copiado para a
nova linha e será então aumentado para a próxima linha. É possível usar a cláusula SET
INCR (configurar incremento) para configurar o valor de incremento para
linhas subsequentes. Isso é útil, por exemplo, quando se deseja alterar
o valor Serial designado a novos alertas na tabela
alerts.status.
ALTER TABLE table_name SET INCR valueEm que table_name é
o nome de uma tabela que contém uma coluna do tipo INCR e value é
um número inteiro.1> alter table alerts.status set incr 20100
2> goINCR
que faça com que futuras inserções tenham os mesmos valores que linhas já
existentes. O novo valor INCR não pode
ser entre as linhas mínima e máxima existentes e deve ser 1.000.000.000 abaixo do valor
mínimo existente na tabela ou 1.000.000.000 acima do valor máximo existente.No Fix Pack 23, o comportamento foi alterado para evitar que o novo valor
INCR fosse configurado para um valor que está dentro de 1.000.000 de qualquer valor existente na tabela. INCR O wrapping de valor também agora é levado em consideração.