CHECK_CONSTRAINTS (Transact-SQL)

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

Pour récupérer les informations de ces vues, spécifiez le nom complet de 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 auquel la contrainte appartient.

ImportantImportant
N'utilisez pas les vues INFORMATION_SCHEMA pour déterminer le schéma d'un objet. La seule méthode fiable pour rechercher le schéma d'un objet est d'interroger l'affichage catalogue sys.objects ou d'utiliser la fonction OBJECT_SCHEMA_NAME.

CONSTRAINT_NAME

sysname

Nom de la contrainte.

CHECK_CLAUSE

nvarchar(4000)

Texte complet de l'instruction de définition Transact-SQL.

SQL Server 2008 diffère de SQL Server 2000 par sa manière de décoder et de stocker les expressions SQL dans les métadonnées de catalogue. La sémantique de l'expression décodée est équivalente au texte d'origine, par contre la syntaxe n'est pas garantie. Par exemple, les espaces sont supprimés de l'expression décodée. Pour plus d'informations, consultez Changements de comportement des fonctionnalités du moteur de base de données de SQL Server 2008.

Exemples

Dans l'exemple suivant, vous obtenez les colonnes CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME et CHECK_CLAUSE pour chaque contrainte CHECK dans la base de données qui contient l'occurrence 'StartDate' dans la définition.

USE AdventureWorks;
GO
SELECT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE LIKE N'%StartDate%';

L'exemple ci-dessous décrit les colonnes obtenues des vues CHECK_CONSTRAINTS et CONSTRAINT_COLUMN_USAGE. Vous pouvez donc consulter les paramètres d'une contrainte et la colonne à laquelle elle se rapporte.

USE AdventureWorks;
GO

SELECT ccu.TABLE_SCHEMA, ccu.TABLE_NAME, ccu.COLUMN_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS ccu
    ON cc.CONSTRAINT_NAME = ccu.CONSTRAINT_NAME;