Udostępnij za pomocą


REFERENTIAL_CONSTRAINTS (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca jeden wiersz dla każdego ograniczenia KLUCZA OBCEGO w aktualnej bazie danych. Ten widok schematu informacji zwraca informacje o obiektach, do których aktualny użytkownik posiada uprawnienia.

Aby uzyskać informacje z tych widoków, należy podać w pełni kwalifikowaną nazwę INFORMATION_SCHEMA. view_name.

Nazwa kolumny Typ danych Description
CONSTRAINT_CATALOG nvarchar(128) Kwalifikator ograniczenia.
CONSTRAINT_SCHEMA nvarchar(128) Nazwa schematu, który zawiera ograniczenie.

Ważny: Nie używaj INFORMATION_SCHEMA widoków do określania schematu obiektu. INFORMATION_SCHEMA widoki reprezentują jedynie podzbiór metadanych obiektu. Jedynym wiarygodnym sposobem znalezienia schematu obiektu jest zapytanie do widoku sys.objects katalogowego.
CONSTRAINT_NAME sysname Nazwa ograniczenia.
UNIQUE_CONSTRAINT_CATALOG nvarchar(128) UNIKALNY kwalifikator ograniczenia.
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128) Nazwa schematu, który zawiera ograniczenie UNIQUE.

Ważny: Nie używaj INFORMATION_SCHEMA widoków do określania schematu obiektu. INFORMATION_SCHEMA widoki reprezentują jedynie podzbiór metadanych obiektu. Jedynym wiarygodnym sposobem znalezienia schematu obiektu jest zapytanie do widoku sys.objects katalogowego.
UNIQUE_CONSTRAINT_NAME sysname Unique.
MATCH_OPTION varchar(7) Referencyjne warunki dopasowania ograniczeń. Zawsze zwraca PROSTO. Oznacza to, że nie jest zdefiniowane dopasowanie. Warunek ten jest uznawany za dopasowanie, gdy spełnia się jedno z następujących warunków:

Przynajmniej jedna wartość w kolumnie klucza obcego to NULL.

Wszystkie wartości w kolumnie klucza obcego nie są NULL, a w tabeli kluczy głównych znajduje się wiersz z tym samym kluczem.
UPDATE_RULE varchar(11) Działanie podejmowane, gdy zdanie Transact-SQL narusza integralność referencyjną zdefiniowaną przez to ograniczenie. Zwraca jedno z następujących danych:
BRAK AKCJI
KASKADA
USTAW NULL
USTAW DOMYŚLNE

Jeśli na ON UPDATE dla tego ograniczenia nie jest określona żadna akcja, aktualizacja klucza głównego, do którego się odwołuje, nie zostanie przeniesiona do klucza obcego. Jeśli taka aktualizacja klucza pierwotnego spowoduje naruszenie integralności referencyjnej, ponieważ przynajmniej jeden klucz obcy zawiera tę samą wartość, SQL Server nie wprowadzi żadnych zmian w tablicach nadrzędnych i referencyjnych. SQL Server również wyświetli błąd.

Jeśli CASCADE jest określone w ON UPDATE dla tego ograniczenia, każda zmiana wartości klucza podstawowego jest automatycznie przekazywana do wartości klucza obcego.
DELETE_RULE varchar(11) Działanie podjęte, gdy zdanie Transact-SQL narusza integralność referencyjną zdefiniowaną przez to ograniczenie. Zwraca jedno z następujących danych:
BRAK AKCJI
KASKADA
USTAW NULL
USTAW DOMYŚLNE

Jeśli na ON DELETE nie jest określona akcja dla tego ograniczenia, usunięcie klucza głównego, do którego się odwołuje ograniczenie, nie zostanie zpropagowane do klucza obcego. Jeśli takie usunięcie klucza pierwotnego spowoduje naruszenie integralności referencyjnej, ponieważ przynajmniej jeden klucz obcy zawiera tę samą wartość, SQL Server nie wprowadzi żadnych zmian w tablicach rodzica i w tabelach referencyjnych. SQL Server również wyświetli błąd.

Jeśli CASCADE jest określone w ON DELETE przy tym ograniczeniu, każda zmiana wartości klucza podstawowego jest automatycznie przekazywana na wartość klucza obcego.

Zobacz też

Widoki systemowe (Transact-SQL)
Widoki schematu informacyjnego (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)