View a markdown version of this page

ALTER TABLE - Amazon Aurora DSQL

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 ADD table_constraint_using_index 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 } and table_constraint_using_index is: [ CONSTRAINT constraint_name ] UNIQUE USING INDEX index_name

Ações da coluna de identidade

SET GENERATED { ALWAYS | BY DEFAULT } / SET sequence_option / RESTART

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 comandos INSERT e UPDATE subsequentes; eles não fazem com que as linhas que já estão na tabela sejam alteradas.

É possível usar a opção sequence_option com ALTER SEQUENCE, como INCREMENT 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 EXISTS for especificado e a coluna não for uma coluna de identidade, nenhum erro será gerado. Nesse caso, será emitido um aviso em vez disso.

Adicionar ações de restrição

ADD table_constraint_using_index

Este formulário adiciona uma nova restrição UNIQUE a uma tabela com base em um índice exclusivo existente. Todas as colunas do índice serão incluídas na restrição.

O índice deve estar em um estado VALID; não há suporte para adicionar uma restrição exclusiva usando um índice que ainda esteja em construção.

Se um nome de restrição for fornecido, o índice será renomeado para corresponder ao nome da restrição. Caso contrário, a restrição terá o mesmo nome do índice.

Após a execução deste comando, o índice passa a ser “propriedade” da restrição, da mesma forma como se tivesse sido criado por um comando CREATE UNIQUE INDEX ASYNC regular. Em particular, ao remover a restrição, o índice também será excluído.