Поделиться через


CONSTRAINT_COLUMN_USAGE (Transact-SQL)

Возвращает по одной строке для каждого столбца в текущей базе данных, для которого определено ограничение. Это представление информационной схемы возвращает сведения об объектах, на которые у текущего пользователя есть разрешения.

Чтобы получить сведения из этих представлений, укажите полное имя INFORMATION_SCHEMA.view_name.

Имя столбца

Тип данных

Описание

TABLE_CATALOG

nvarchar(128)

Квалификатор таблицы.

TABLE_SCHEMA

nvarchar(128)

Имя схемы, содержащей владельца таблицы.

Важное примечаниеВажно!
Не используйте представления INFORMATION_SCHEMA, чтобы определить схему объекта. Единственный надежный способ найти схему объекта — направить запрос к представлению каталога sys.objects или использовать функцию OBJECT_SCHEMA_NAME.

TABLE_NAME

nvarchar(128)

Имя таблицы.

COLUMN_NAME

nvarchar(128)

Имя столбца.

CONSTRAINT_CATALOG

nvarchar(128)

Квалификатор ограничения.

CONSTRAINT_SCHEMA

nvarchar(128)

Имя схемы, содержащей ограничение.

Важное примечаниеВажно!
Не используйте представления INFORMATION_SCHEMA, чтобы определить схему объекта. Единственный надежный способ найти схему объекта — направить запрос к представлению каталога sys.objects или использовать функцию OBJECT_SCHEMA_NAME.

CONSTRAINT_NAME

nvarchar(128)

Имя ограничения.

Примеры

В следующем примере возвращаются столбцы из представлений 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;

В следующем примере возвращаются все ограничения в базе данных, которая ссылается на столбец StartDate.

USE AdventureWorks;
GO

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, CONSTRAINT_SCHEMA, CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
WHERE COLUMN_NAME = 'StartDate';