REFERENTIAL_CONSTRAINTS (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Returnerar en rad för varje FOREIGN KEY-begränsning i den aktuella databasen. Denna informationsschemavy returnerar information om de objekt som den aktuella användaren har behörigheter till.

För att hämta information från dessa vyer, ange det fullt kvalificerade namnet på INFORMATION_SCHEMA. view_name.

Kolumnnamn Datatyp Description
CONSTRAINT_CATALOG Nvarchar(128) Begränsningskvalificering.
CONSTRAINT_SCHEMA Nvarchar(128) Namnet på schemat som innehåller begränsningen.

Viktig: Använd inte INFORMATION_SCHEMA vyer för att bestämma schemat för ett objekt. INFORMATION_SCHEMA vyer representerar endast en delmängd av metadata för ett objekt. Det enda pålitliga sättet att hitta schemat för ett objekt är att fråga katalogvyn sys.objects .
CONSTRAINT_NAME sysname Begränsningsnamn.
UNIQUE_CONSTRAINT_CATALOG Nvarchar(128) UNIK begränsningskvalificerare.
UNIQUE_CONSTRAINT_SCHEMA Nvarchar(128) Namn på schemat som innehåller den UNIKA begränsningen.

Viktig: Använd inte INFORMATION_SCHEMA vyer för att bestämma schemat för ett objekt. INFORMATION_SCHEMA vyer representerar endast en delmängd av metadata för ett objekt. Det enda pålitliga sättet att hitta schemat för ett objekt är att fråga katalogvyn sys.objects .
UNIQUE_CONSTRAINT_NAME sysname UNIK begränsning.
MATCH_OPTION Varchar(7) Referensmässiga begränsningsmatchningsvillkor. Returnerar alltid ENKELT. Detta innebär att ingen match är definierad. Villkoret anses vara en match när en av följande är sann:

Minst ett värde i kolumnen för främmande nyckel är NULL.

Alla värden i kolumnen för främmande nyckel är inte NULL, och det finns en rad i primärnyckeltabellen som har samma nyckel.
UPDATE_RULE Varchar(11) Åtgärder vidtas när ett Transact-SQL-påstående bryter mot den referensintegritet som definieras av denna begränsning. Returnerar en av följande:
INGEN HANDLING
CASCADE
SET NULL
STÄLL IN STANDARD

Om INGEN ÅTGÄRD anges vid ON UPDATE för denna begränsning, kommer uppdateringen av primärnyckeln som refereras i begränsningen inte att spridas till främmande nyckeln. Om en sådan uppdatering av en primärnyckel orsakar ett referensintegritetsbrott eftersom minst en främmande nyckel innehåller samma värde, kommer SQL Server inte att göra någon ändring i föräldra- och referenstabellerna. SQL Server kommer också att ge ett fel.

Om CASCADE anges på ON UPDATE för denna begränsning, propageras varje ändring av primärnyckelvärdet automatiskt till främmande nyckelvärdet.
DELETE_RULE Varchar(11) Åtgärder vidtas när ett Transact-SQL-uttalande bryter mot referensintegritet som definieras av denna begränsning. Returnerar en av följande:
INGEN HANDLING
CASCADE
SET NULL
STÄLL IN STANDARD

Om INGEN ÅTGÄRD anges på ON DELETE för denna begränsning, kommer inte delete-funktionen på primärnyckeln som refereras i begränsningen att propageras till främmande nyckeln. Om en sådan borttagning av en primärnyckel orsakar en referensintegritetsöverträdelse eftersom minst en främmande nyckel innehåller samma värde, kommer SQL Server inte att göra någon ändring i föräldra- och referenstabellerna. SQL Server kommer också att ge ett fel.

Om CASCADE anges på ON DELETE på denna begränsning, propageras varje ändring av primärnyckelvärdet automatiskt till främmande nyckelvärdet.

Se även

Systemvyer (Transact-SQL)
Informationsschemavyer (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)