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


CONSTRAINT_TABLE_USAGE (Transact-SQL)

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

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

Имя столбца

Тип данных

Описание

TABLE_CATALOG

nvarchar(128)

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

TABLE_SCHEMA

nvarchar(128)

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

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

TABLE_NAME

sysname

Имя таблицы.

CONSTRAINT_CATALOG

nvarchar(128)

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

CONSTRAINT_SCHEMA

nvarchar(128)

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

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

CONSTRAINT_NAME

sysname

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

Примеры

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

USE AdventureWorks;
GO

SELECT *
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS ctu
INNER JOIN sys.objects AS o ON ctu.TABLE_NAME = o.name 
    AND OBJECT_SCHEMA_NAME(o.object_id) = N'Production';

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

USE AdventureWorks;
GO

SELECT ctu.TABLE_SCHEMA, ctu.TABLE_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS ctu
    ON cc.CONSTRAINT_NAME = ctu.CONSTRAINT_NAME;