Partager via


REFERENTIAL_CONSTRAINTS (Transact-SQL)

Renvoie une ligne pour chaque contrainte FOREIGN KEY dans la base de données active. Cette vue des schémas d'information renvoie des informations sur les objets autorisés pour l'utilisateur actuel.

Pour extraire des informations de ces vues, spécifiez le nom complet **INFORMATION_SCHEMA.**view_name.

ms179987.note(fr-fr,SQL.90).gifImportant :
Cette fonctionnalité a changé par rapport aux versions antérieures de SQL Server. Pour plus d'informations, consultez Changements de comportement des fonctionnalités du moteur de base de données de SQL Server 2005.
Nom de colonne Type de données Description

CONSTRAINT_CATALOG

nvarchar(128)

Identificateur de la contrainte.

CONSTRAINT_SCHEMA

nvarchar(128)

Nom du schéma qui contient la contrainte.

CONSTRAINT_NAME

sysname

Nom de la contrainte.

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

Identificateur de la contrainte unique.

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

Nom du schéma qui contient la contrainte UNIQUE.

UNIQUE_CONSTRAINT_NAME

sysname

Contrainte UNIQUE.

MATCH_OPTION

varchar(7)

Conditions référentielles de correspondance de contraintes. Renvoie toujours la valeur SIMPLE. Signifie qu'aucune correspondance n'est définie. La condition est considérée comme correspondante si l'une des conditions suivantes est réalisée :

  • au moins une valeur de la colonne de clé étrangère est NULL ;
  • toutes les valeurs de la colonne de clé étrangère ne comportent pas la valeur NULL, et une ligne de la table de clé primaire contient la même clé.

UPDATE_RULE

varchar(11)

Action entreprise lorsqu'une instruction Transact-SQL viole l'intégrité référentielle définie par cette contrainte.

Renvoie l'une des valeurs suivantes :

  • NO ACTION
  • CASCADE
  • SET NULL
  • SET DEFAULT

Si NO ACTION est spécifié sur une instruction ON UPDATE de cette contrainte, la mise à jour de la clé primaire référencée dans la contrainte n'est pas propagée vers la clé étrangère. Si la mise à jour d'une clé primaire enfreint l'intégrité référentielle (lorsqu'une clé étrangère au moins contient la même valeur), SQL Server n'exécute aucune modification des tables parentes et de référence. SQL Server génère par ailleurs une erreur.

Si CASCADE est spécifié sur une instruction ON UPDATE de cette contrainte, toute modification de valeur de la clé primaire est automatiquement propagée vers la valeur de la clé étrangère.

DELETE_RULE

varchar(11)

Action entreprise lorsqu'une instruction Transact-SQL viole l'intégrité référentielle définie par cette contrainte.

Renvoie l'une des valeurs suivantes :

  • NO ACTION
  • CASCADE
  • SET NULL
  • SET DEFAULT

Si NO ACTION est spécifié sur une instruction ON DELETE de cette contrainte, la suppression de la clé primaire référencée dans la contrainte n'est pas propagée vers la clé étrangère. Si la suppression d'une clé primaire enfreint l'intégrité référentielle (lorsqu'une clé étrangère au moins contient la même valeur), SQL Server n'exécute aucune modification des tables parentes et de référence. SQL Server génère par ailleurs une erreur.

Si CASCADE est spécifié sur une instruction ON DELETE de cette contrainte, toute modification de valeur de la clé primaire est automatiquement propagée vers la valeur de la clé étrangère.

Voir aussi

Référence

Vues système (Transact-SQL)
Vues de schémas d'informations (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)

Autres ressources

Interrogation des catalogues système de SQL Server

Aide et Informations

Assistance sur SQL Server 2005