Partager via


REFERENTIAL_CONSTRAINTS (Transact-SQL)

S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance

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

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

Nom de la colonne Type de données Description
CONSTRAINT_CATALOG nvarchar(128) Qualificateur de la contrainte.
CONSTRAINT_SCHEMA nvarchar(128) Nom du schéma qui contient la contrainte.

Important N’utilisez pas les vues INFORMATION_SCHEMA pour déterminer le schéma d’un objet. Les vues INFORMATION_SCHEMA représentent uniquement un sous-ensemble des métadonnées d’un objet. La seule méthode fiable pour rechercher le schéma d’un objet est d’interroger l’affichage catalogue sys.objects.
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.

Important N’utilisez pas les vues INFORMATION_SCHEMA pour déterminer le schéma d’un objet. Les vues INFORMATION_SCHEMA représentent uniquement un sous-ensemble des métadonnées d’un objet. La seule méthode fiable pour rechercher le schéma d’un objet est d’interroger l’affichage catalogue sys.objects.
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 clé étrangère est NULL ;

toutes les valeurs de la colonne 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) Une action effectuée lorsqu’une instruction Transact-SQL enfreint l’intégrité référentielle définie par cette contrainte. Retourne l’une des valeurs suivantes :
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Si AUCUNE ACTION n’est spécifiée sur ON UPDATE pour cette contrainte, la mise à jour de la clé primaire référencée dans la contrainte ne sera pas propagée à la clé étrangère. Si une telle mise à jour d’une clé primaire entraîne une violation d’intégrité référentielle, car au moins une clé étrangère contient la même valeur, SQL Server n’apporte aucune modification aux tables parentes et de référence. SQL Server génère également 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) Une action effectuée lorsqu’une instruction Transact-SQL enfreint l’intégrité référentielle définie par cette contrainte. Retourne l’une des valeurs suivantes :
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Si AUCUNE ACTION n’est spécifiée sur ON DELETE pour cette contrainte, la suppression sur la clé primaire référencée dans la contrainte ne sera pas propagée à la clé étrangère. Si une telle suppression d’une clé primaire entraîne une violation d’intégrité référentielle, car au moins une clé étrangère contient la même valeur, SQL Server n’apporte aucune modification aux tables parentes et de référence. SQL Server génère également 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

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)