ALTER TABLE
ALTER TABLE altera a definição de uma tabela.
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME CONSTRAINT constraint_name TO new_constraint_name ALTER TABLE [ IF EXISTS ] name RENAME TO new_name ALTER TABLE [ IF EXISTS ] name SET SCHEMA new_schema where action is one of: ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type ALTER [ COLUMN ] column_name { SET GENERATED { ALWAYS | BY DEFAULT } | SET sequence_option | RESTART [ [ WITH ] restart ] } [...] ALTER [ COLUMN ] column_name DROP IDENTITY [ IF EXISTS ] OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
Ações da coluna de identidade
SET GENERATED { ALWAYS | BY DEFAULT }/SET/sequence_optionRESTART-
Esses formulários alteram se uma coluna é uma coluna de identidade ou alteram o atributo de geração de uma coluna de identidade existente. Para mais detalhes, consulte CREATE TABLE. De modo semelhante a
SET DEFAULT, esses formulários afetam apenas o comportamento dos comandosINSERTeUPDATEsubsequentes; eles não fazem com que as linhas que já estão na tabela sejam alteradas.É possível usar a opção
sequence_optioncom ALTER SEQUENCE, comoINCREMENT BY. Esses formulários alteram a sequência subjacente a uma coluna de identidade existente. DROP IDENTITY [ IF EXISTS ]-
Esse formulário remove a propriedade de identidade de uma coluna. Se
DROP IDENTITY IF EXISTSfor especificado e a coluna não for uma coluna de identidade, nenhum erro será gerado. Nesse caso, será emitido um aviso em vez disso.