Sdílet prostřednictvím


REFERENTIAL_CONSTRAINTS (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrací jeden řádek pro každé omezení FOREIGN KEY v aktuální databázi. Tento pohled informačního schématu vrací informace o objektech, ke kterým má aktuální uživatel oprávnění.

Pro získání informací z těchto pohledů uveďte plně kvalifikovaný název INFORMATION_SCHEMA. view_name.

Název sloupce Datový typ Description
CONSTRAINT_CATALOG nvarchar(128) Kvalifikátor omezení.
CONSTRAINT_SCHEMA nvarchar(128) Název schématu, které obsahuje omezení.

Důležitý: Nepoužívejte INFORMATION_SCHEMA pohledy k určení schématu objektu. INFORMATION_SCHEMA pohledy představují pouze podmnožinu metadat objektu. Jediný spolehlivý způsob, jak najít schéma objektu, je dotazovat se do sys.objects katalogového pohledu.
CONSTRAINT_NAME sysname Název omezení.
UNIQUE_CONSTRAINT_CATALOG nvarchar(128) JEDINEČNÝ kvalifikátor omezení.
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128) Název schématu, které obsahuje omezení UNIQUE.

Důležitý: Nepoužívejte INFORMATION_SCHEMA pohledy k určení schématu objektu. INFORMATION_SCHEMA pohledy představují pouze podmnožinu metadat objektu. Jediný spolehlivý způsob, jak najít schéma objektu, je dotazovat se do sys.objects katalogového pohledu.
UNIQUE_CONSTRAINT_NAME sysname JEDINEČNÉ omezení.
MATCH_OPTION varchar(7) Referenční podmínky pro sladění omezení. Vždy vrací JEDNODUCHÉ. To znamená, že není definována žádná shoda. Podmínka je považována za shodu, pokud platí jedna z následujících podmínek:

Alespoň jedna hodnota ve sloupci cizího klíče je NULL.

Všechny hodnoty ve sloupci cizího klíče nejsou NULL a v tabulce primárních klíčů je řádek, který má stejný klíč.
UPDATE_RULE Varchar(11) Akce přijatá, když Transact-SQL tvrzení porušuje referenční integritu definovanou tímto omezením. Vrátí jednu z následujících údajů:
ŽÁDNÁ AKCE
CASCADE
SET NULL
NASTAVTE VÝCHOZÍ NASTAVENÍ

Pokud na ON UPDATE není pro toto omezení zadána žádná AKCE, aktualizace primárního klíče, na který se v omezení odkazuje, nebude propagována na cizí klíč. Pokud taková aktualizace primárního klíče způsobí porušení referenční integrity, protože alespoň jeden cizí klíč obsahuje stejnou hodnotu, SQL Server neprovede žádnou změnu v rodičovské a referenční tabulce. SQL Server také zobrazí chybu.

Pokud je CASCADE specifikován při ON UPDATE pro toto omezení, jakákoli změna hodnoty primárního klíče se automaticky propaguje na hodnotu cizího klíče.
DELETE_RULE Varchar(11) Opatření přijatá v případě, že Transact-SQL tvrzení porušuje referenční integritu definovanou tímto omezením. Vrátí jednu z následujících údajů:
ŽÁDNÁ AKCE
CASCADE
SET NULL
NASTAVTE VÝCHOZÍ NASTAVENÍ

Pokud na ON DELETE není pro toto omezení specifikována žádná akce, mazání na primárním klíči, na který je v omezení odkazováno, nebude propagováno na cizí klíč. Pokud takové odstranění primárního klíče způsobí porušení referenční integrity, protože alespoň jeden cizí klíč obsahuje stejnou hodnotu, SQL Server neprovede žádnou změnu v rodičovské a odkazující tabulce. SQL Server také zobrazí chybu.

Pokud je CASCADE specifikován na ON DELETE za tohoto omezení, jakákoli změna hodnoty primárního klíče se automaticky propaguje na hodnotu cizího klíče.

Viz také

Systémová zobrazení (Transact-SQL)
Pohledy na informační schémata (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)