REFERENTIAL_CONSTRAINTS (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

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

Имя столбца Тип данных Description
CONSTRAINT_CATALOG nvarchar(128) Квалификатор ограничения.
CONSTRAINT_SCHEMA nvarchar(128) Имя схемы, содержащей ограничение.

Важно. Не используйте представления INFORMATION_SCHEMA для определения схемы объекта. INFORMATION_SCHEMA представления представляют только подмножество метаданных объекта. Единственный надежный способ найти схему объекта — запрашивать sys.objects представление каталога.
CONSTRAINT_NAME sysname Имя ограничения.
UNIQUE_CONSTRAINT_CATALOG nvarchar(128) Квалификатор ограничения UNIQUE.
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128) Имя схемы, содержащей ограничение UNIQUE.

Важно. Не используйте представления INFORMATION_SCHEMA для определения схемы объекта. INFORMATION_SCHEMA представления представляют только подмножество метаданных объекта. Единственный надежный способ найти схему объекта — запрашивать sys.objects представление каталога.
UNIQUE_CONSTRAINT_NAME sysname Ограничение UNIQUE.
MATCH_OPTION varchar(7) Ссылочные условия, соответствующие ограничению. Всегда возвращает SIMPLE. Это означает, что не определено никакого соответствия. Предполагается, что условие соответствует ограничению, если выполняется одно из следующих требований.

Хотя бы одно значение внешнего ключевого столбца равно NULL.

Все значения внешнего ключевого столбца не равны NULL, и в таблице первичного ключа имеется строка с таким же ключом.
UPDATE_RULE varchar(11) Действие, выполняемое при нарушении инструкции Transact-SQL, нарушает целостность ссылок, определяемую этим ограничением. Возвращает одно из следующих элементов:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Если параметр NO ACTION указан в ON UPDATE для этого ограничения, обновление первичного ключа, на который ссылается ограничение, не будет распространяться на внешний ключ. Если такое обновление первичного ключа приведет к нарушению целостности ссылок, так как по крайней мере один внешний ключ содержит то же значение, SQL Server не будет вносить никаких изменений в родительские и ссылающиеся таблицы. SQL Server также вызовет ошибку.

Если на ON UPDATE для этого ограничения указывается CASCADE, любое изменение первичного ключа автоматически распространяется на значение внешнего ключа.
DELETE_RULE varchar(11) Действие, выполняемое при нарушении целостности инструкции Transact-SQL, определенной этим ограничением. Возвращает одно из следующих элементов:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

Если параметр NO ACTION указан в ON DELETE для этого ограничения, удаление на первичный ключ, на который ссылается ограничение, не будет распространяться на внешний ключ. Если такое удаление первичного ключа приведет к нарушению целостности ссылок, так как по крайней мере один внешний ключ содержит то же значение, SQL Server не будет вносить никаких изменений в родительские и ссылающиеся таблицы. SQL Server также вызовет ошибку.

Если на ON DELETE для этого ограничения указывается CASCADE, любое изменение значения первичного ключа автоматически распространяется на значение внешнего ключа.

См. также

Системные представления (Transact-SQL)
Представления схемы сведений (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)