ALTER DOMAIN

Nom

ALTER DOMAIN  --  change la définition d'un domaine

Synopsis

ALTER DOMAIN nom
    { SET DEFAULT expression | DROP DEFAULT }
ALTER DOMAIN nom
    { SET | DROP } NOT NULL
ALTER DOMAIN nom
    ADD contrainte de domaine
ALTER DOMAIN nom
    DROP CONSTRAINT nom de contrainte [ RESTRICT | CASCADE ]
ALTER DOMAIN nom
    OWNER TO nouveau propriétaire 
  

Description

ALTER DOMAIN change la définition d'un domaine existant. Il existe sous plusieurs sous-formes :

SET/DROP DEFAULT

Ces formes placent ou suppriment la valeur par défaut d'un domaine. Notez que ces valeurs par défaut s'appliquent seulement aux commandes INSERT subséquentes ; elles n'affectent pas les lignes d'une table utilisant dèja le domaine.

SET/DROP NOT NULL

Ces formes modifient un domaine marqué pour permettre les valeurs NULL ou rejettent les valeurs NULL. Vous pouvez faire seulement SET NOT NULL quand les colonnes utilisant le domaine contiennent des valeurs non nulles.

ADD contrainte de domaine

Cette forme ajoute une nouvelle contrainte à un domaine utilisant la même syntaxe que CREATE DOMAIN. Ceci fonctionnera seulement si toutes les colonnes utilisant le domaine satisfont à la nouvelle contrainte.

DROP CONSTRAINT

Cette forme supprime les contraintes sur un domaine.

OWNER

Cette forme change le propriétaire du domaine.

Vous devez être le propriétaire du domaine pour utiliser ALTER DOMAIN ; sauf pour ALTER DOMAIN OWNER, lequel peut seulement être exécuté par le super-utilisateur.

Paramètres

nom

Le nom d'un domaine existant à modifier.

contrainte de domaine

Nouvelle contrainte de domaine pour le domaine.

nom de contrainte

Nom d'une contrainte existante à supprimer.

CASCADE

Supprime automatiquement les objets qui dépendent de la contrainte.

RESTRICT

Refuse de supprimer la contrainte s'il y a divers objets dépendants. C'est le comportement par défaut.

nouveau propriétaire

Le nom utilisateur du nouveau propriétaire du domaine.

Exemples

Pour ajouter une contrainte NOT NULL à un domaine :

ALTER DOMAIN codezip SET NOT NULL;
   

Pour supprimer une contrainte NOT NULL d'un domaine :

ALTER DOMAIN codezip DROP NOT NULL;
   

Pour ajouter une contrainte de contrôle à un domaine :

ALTER DOMAIN codezip ADD CONSTRAINT verif_zip CHECK (char_length(VALUE) = 5);
   

Pour supprimer une contrainte de contrôle d'un domaine :

ALTER DOMAIN codezip DROP CONSTRAINT verif_zip;
   

Compatibilité

La relation ALTER DOMAIN est compatible avec SQL99, sauf pour la variante OWNER, laquelle est une extension PostgreSQL.