Udostępnij za pośrednictwem


REFERENTIAL_CONSTRAINTS (Transact-SQL)

Zwraca jeden wiersz dla każdego z ograniczeń klucz obcy w bieżącej bazie danych.W tym widoku informacji o schemacie zwraca informacje o obiektach, do których bieżący użytkownik ma uprawnienia.

Aby pobrać informacje z tych widoków, należy określić w pełni kwalifikowanej nazwy INFORMATION_SCHEMA. view_name.

Nazwa kolumna

Typ danych

Description

CONSTRAINT_CATALOG

nvarchar(128)

Kwalifikator ograniczenie.

CONSTRAINT_SCHEMA

nvarchar(128)

Nazwa schematu, który zawiera ograniczenie.

Important noteImportant Note:
Nie należy używać INFORMATION_SCHEMA widoków do określenia schematu obiektu.Kwerendy sys.objects wykazu widoku lub funkcja OBJECT_SCHEMA_NAME jest tylko niezawodnym sposobem znalezienia schematu obiektu.

CONSTRAINT_NAME

sysname

Nazwa ograniczenia.

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

Kwalifikator ograniczenia UNIQUE.

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

Nazwa schematu, który zawiera ograniczenie typu UNIQUE.

Important noteImportant Note:
Nie należy używać INFORMATION_SCHEMA widoków do określenia schematu obiektu.Kwerendy sys.objects wykazu widoku lub funkcja OBJECT_SCHEMA_NAME jest tylko niezawodnym sposobem znalezienia schematu obiektu.

UNIQUE_CONSTRAINT_NAME

sysname

Ograniczenie UNIQUE.

MATCH_OPTION

varchar(7)

Więzów warunków zgodności ograniczenie.Zawsze zwraca SIMPLE.Oznacza to, że nie jest zdefiniowana.Warunek jest uważany za dopasowania, gdy spełniony jest jeden z następujących czynności:

  • Co najmniej jedną wartość kolumna klucz obcy jest NULL.

  • Wszystkie wartości kolumna klucz obcy nie jest NULL, a jest wiersz w tabela klucz podstawowy, który ma ten sam klucz.

UPDATE_RULE

varchar(11)

akcja podejmowane, gdy Transact-SQL Instrukcja naruszenie więzów integralność, zdefiniowany przez tego ograniczenia.

Zwraca jedną z następujących czynności:

  • BRAK akcja

  • KASKADOWO

  • zestaw NULL

  • zestaw DOMYŚLNE

Jeśli akcja nie jest określony na ON UPDATE dla tego ograniczenia, aktualizacja, do którego odwołuje się ograniczenie klucz podstawowy będzie nie przenoszone na klucz obcy.If such an update of a primary key will cause a referential integrity violation because at least one foreign key contains the same value, SQL Server will not make any change to the parent and referring tables.SQL Server also will raise an error.

Jeśli dla tego ograniczenia na ON UPDATE określono CASCADE, wszelkie zmiany wartości klucz podstawowy automatycznie te będą propagowane do wartości klucz obcy.

DELETE_RULE

varchar(11)

akcja podejmowane, gdy Transact-SQL Instrukcja naruszenie więzów integralność zdefiniowanych przez tego ograniczenia.

Zwraca jedną z następujących czynności:

  • BRAK akcja

  • KASKADOWO

  • zestaw NULL

  • zestaw DOMYŚLNE

Jeśli akcja nie jest określony na ON DELETE dla tego ograniczenia, usuwania, do którego odwołuje się ograniczenie klucz podstawowy będzie nie propagowane w kluczu obcym.If such a delete of a primary key will cause a referential integrity violation because at least one foreign key contains the same value, SQL Server will not make any change to the parent and referring tables.SQL Server also will raise an error.

Jeżeli CASCADE określono na ON DELETE to ograniczenie, wszelkie zmiany wartości klucz podstawowy automatycznie te będą propagowane do wartości klucz obcy.

Przykłady

W poniższym przykładzie zwraca informacje dotyczące każdego z ograniczeń klucz obcy w Sales schemat bazy danych.