Créer des contraintes

Une contrainte peut être créée lors de la création d’une table à l’aide de CREATE TABLE ou ultérieurement ajoutée à une table à l’aide de ALTER TABLE :

  • Des contraintes de colonne unique peuvent être créées en ligne dans le cadre de la définition de colonne.

  • Les contraintes multi-colonnes doivent être créées dans une clause distincte, c’est-à-dire hors ligne, qui spécifie les colonnes de la contrainte.

Pour créer une contrainte, certains privilèges de contrôle d’accès doivent être accordés au niveau du rôle utilisé pour créer la contrainte. Pour plus d’informations, voir les détails de sécurité décrits dans Détails supplémentaires sur les contraintes.

Dans ce chapitre :

Création de contraintes en ligne

La syntaxe en ligne suivante ne peut être utilisée que pour des contraintes de colonne unique :

CREATE [OR REPLACE] TABLE <name> (<column_name> <column_type> [ <inline_constraint> ] , ... )

ALTER TABLE <name> ADD COLUMN <column_name> <column_type> [ <inline_constraint> ]

Pour plus d’informations sur la syntaxe de contrainte_enligne , voir CREATE | ALTER TABLE … CONSTRAINT.

Création de contraintes hors ligne

La syntaxe hors ligne suivante doit être utilisée pour les contraintes multi-colonnes, mais peut également l’être pour les contraintes mono-colonne :

CREATE [OR REPLACE] TABLE <name> ( ... , [ <outofline_constraint> ], ... )

ALTER TABLE <name> ADD <outofline_constraint>

Pour plus d’informations sur la syntaxe contrainte_horsligne , voir CREATE | ALTER TABLE … CONSTRAINT.