CHECK_CONSTRAINTS (Transact-SQL)
Возвращает одну строку для каждого проверочного ограничения в текущей базе данных. Это представление информационной схемы возвращает сведения об объектах, на которые у текущего пользователя есть разрешения.
Чтобы получить сведения из этих представлений, укажите полное имя INFORMATION_SCHEMA.view_name.
Имя столбца |
Тип данных |
Описание |
---|---|---|
CONSTRAINT_CATALOG |
nvarchar(128) |
Квалификатор ограничения. |
CONSTRAINT_SCHEMA |
nvarchar(128) |
Имя схемы, которой принадлежит ограничение. ![]()
Не используйте представления INFORMATION_SCHEMA, чтобы определить схему объекта. Единственный надежный способ найти схему объекта — направить запрос к представлению каталога sys.objects или использовать функцию OBJECT_SCHEMA_NAME.
|
CONSTRAINT_NAME |
sysname |
Имя ограничения. |
CHECK_CLAUSE |
nvarchar(4000) |
Фактический текст инструкции определения Transact-SQL. SQL Server 2008 отличается от SQL Server 2000 способом расшифровки и хранения выражений SQL в метаданных каталога. Семантика расшифрованных выражений соответствует исходному тексту, однако правильность синтаксиса не гарантируется. Например, пробельные символы удаляются из дешифрованного выражения. Дополнительные сведения см. в разделе Изменения в работе функций компонента Database Engine в SQL Server 2008. |
Примеры
В следующем примере возвращаются столбцы CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME и CHECK_CLAUSE для каждого ограничения CHECK в базе данных, в определении которого содержится StartDate.
USE AdventureWorks;
GO
SELECT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE LIKE N'%StartDate%';
В следующем примере возвращаются столбцы из представлений CHECK_CONSTRAINTS и CONSTRAINT_COLUMN_USAGE, чтобы вывести сведения об ограничении и о столбце, в котором оно определено.
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;