ALTER DOMAIN nome { SET DEFAULT expressão | DROP DEFAULT } ALTER DOMAIN nome { SET | DROP } NOT NULL ALTER DOMAIN nome ADD restrição_de_domínio ALTER DOMAIN nome DROP CONSTRAINT nome_da_restrição [ RESTRICT | CASCADE ] ALTER DOMAIN nome OWNER TO novo_dono
O comando ALTER DOMAIN altera a definição de um domínio existente. Existem várias subformas:
Estas formas definem ou removem o valor padrão para o domínio. Deve ser observado que estes padrões somente se aplicam aos comandos INSERT subseqüentes; as linhas já existentes nas tabelas que utilizam o domínio não são afetadas.
Estas formas modificam se o domínio está marcado para permitir valores nulos ou para rejeitar valores nulos. O comando SET NOT NULL pode ser utilizado somente quando as colunas que utilizam o domínio não contêm valores nulos.
Esta forma adiciona uma nova restrição ao domínio, utilizando a mesma sintaxe de CREATE DOMAIN. Somente será bem-sucedida se todas as colunas que utilizam o domínio satisfizerem a nova restrição.
Esta forma remove restrições no domínio.
Esta forma torna o usuário especificado o dono do domínio.
É necessário ser o dono do domínio para utilizar ALTER DOMAIN; exceto no caso de ALTER DOMAIN OWNER, que só pode ser executado por um superusuário.
O nome (opcionalmente qualificado pelo esquema) do domínio existente a ser alterado.
Nova restrição de domínio para o domínio.
Nome da restrição existente a ser removida.
Remove, automaticamente, os objetos que dependem da restrição.
Recusa remover a restrição se existirem objetos que dependem da mesma. Este é o comportamento padrão.
O nome de usuário do novo dono do domínio.
Para adicionar a restrição NOT NULL ao domínio:
ALTER DOMAIN cep SET NOT NULL;
Para remover a restrição NOT NULL do domínio:
ALTER DOMAIN cep DROP NOT NULL;
Para adicionar uma restrição de verificação ao domínio:
ALTER DOMAIN cep ADD CONSTRAINT chk_cep CHECK (char_length(VALUE) = 8);
Para remover uma restrição de verificação do domínio:
ALTER DOMAIN cep DROP CONSTRAINT chk_cep;