ALTER DOMAIN
Nome
ALTER DOMAIN -- altera a definição de um domínio
Sinopse
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
Descrição
O comando ALTER DOMAIN altera a definição de um domínio existente. Existem várias subformas:
- SET/DROP DEFAULT
-
Estas formas definem ou removem o valor padrão do domínio. Deve ser observado que estes padrões somente se aplicam aos comandos INSERT subseqüentes; não são afetadas as linhas já existentes nas tabelas que utilizam o domínio.
- SET/DROP NOT NULL
-
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.
- ADD restrição_de_domínio
-
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.
- DROP CONSTRAINT
-
Esta forma remove restrições no domínio.
- OWNER
-
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 ALTER DOMAIN OWNER, que só pode ser executado por um superusuário.
Parâmetros
- nome
-
O nome (opcionalmente qualificado pelo esquema) do domínio existente a ser alterado.
- restrição_de_domínio
-
Nova restrição de domínio para o domínio.
- nome_da_restrição
-
Nome da restrição existente a ser removida.
- CASCADE
-
Remove, automaticamente, os objetos que dependem da restrição.
- RESTRICT
-
Não permite remover a restrição caso existam objetos que dependam da mesma. Este é o comportamento padrão.
- novo_dono
-
O nome de usuário do novo dono do domínio.
Exemplos
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;
Compatibilidade
O comando ALTER DOMAIN é compatível com o SQL:1999, exceto pela variante OWNER, que é uma extensão do PostgreSQL.