Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vrací cizí klíče, které odkazují na primární klíče v tabulce na propojeném serveru.
Syntaxe
sp_foreignkeys
[ @table_server = ] N'table_server'
[ , [ @pktab_name = ] N'pktab_name' ]
[ , [ @pktab_schema = ] N'pktab_schema' ]
[ , [ @pktab_catalog = ] N'pktab_catalog' ]
[ , [ @fktab_name = ] N'fktab_name' ]
[ , [ @fktab_schema = ] N'fktab_schema' ]
[ , [ @fktab_catalog = ] N'fktab_catalog' ]
[ ; ]
Arguments
[ @table_server = ] N'table_server'
Název propojeného serveru, pro který se vracejí informace o tabulce. @table_server je sysname, bez výchozího nastavení.
[ @pktab_name = ] N'pktab_name'
Název tabulky s primárním klíčem.
@pktab_name je sysname, s výchozím nastavením NULL.
[ @pktab_schema = ] N'pktab_schema'
Název schématu s primárním klíčem.
@pktab_schema je sysname s výchozím nastavením NULL. V SQL Serveru tento parametr obsahuje jméno vlastníka.
[ @pktab_catalog = ] N'pktab_catalog'
Název katalogu s primárním klíčem.
@pktab_catalog je sysname s výchozím nastavením NULL. V SQL Serveru tento parametr obsahuje název databáze.
[ @fktab_name = ] N'fktab_name'
Název stolu s cizím klíčem.
@fktab_name je sysname s výchozím nastavením NULL.
[ @fktab_schema = ] N'fktab_schema'
Název schématu s cizím klíčem.
@fktab_schema je sysname s výchozím nastavením NULL.
[ @fktab_catalog = ] N'fktab_catalog'
Název katalogu s cizím klíčem. @fktab_catalog je sysname s výchozím nastavením NULL.
Hodnoty návratového kódu
Žádné.
Sada výsledků
Různé produkty databázových systémů (DBMS) podporují třífázové pojmenování tabulek (<catalog>.<schema>.<table>), které jsou reprezentovány ve výsledné sadě.
| Název sloupce | Datový typ | Description |
|---|---|---|
PKTABLE_CAT |
sysname | Katalog tabulky, ve které se nachází primární klíč. |
PKTABLE_SCHEM |
sysname | Schéma pro tabulku, ve které se nachází primární klíč. |
PKTABLE_NAME |
sysname | Název tabulky (s primárním klíčem). Toto pole vždy vrací hodnotu. |
PKCOLUMN_NAME |
sysname | Název sloupce nebo sloupců primárního klíče pro každý sloupec vráceného klíče TABLE_NAME . Toto pole vždy vrací hodnotu. |
FKTABLE_CAT |
sysname | Katalog tabulky, ve které se nachází cizí klíč. |
FKTABLE_SCHEM |
sysname | Schéma pro tabulku, ve které se nachází cizí klíč. |
FKTABLE_NAME |
sysname | Název tabulky (s cizím klíčem). Toto pole vždy vrací hodnotu. |
FKCOLUMN_NAME |
sysname | Název sloupců cizích klíčů pro každý sloupec vráceného klíče TABLE_NAME . Toto pole vždy vrací hodnotu. |
KEY_SEQ |
smallint | Pořadové číslo sloupce v primárním klíči s více sloupci. Toto pole vždy vrací hodnotu. |
UPDATE_RULE |
smallint | Akce aplikovaná na cizí klíč při aktualizaci SQL operace. SQL Server vrací 0, 1 nebo 2 pro tyto sloupce:0
=
CASCADE Změny cizího tónu.1
=
NO ACTION změní, pokud je přítomen cizí klíč.2
=
SET_NULL; Nastavte cizí klíč na NULL. |
DELETE_RULE |
smallint | Akce aplikovaná na cizí klíč, když je SQL operace smazáním. SQL Server vrací 0, 1 nebo 2 pro tyto sloupce:0
=
CASCADE Změny cizího tónu.1
=
NO ACTION změní, pokud je přítomen cizí klíč.2
=
SET_NULL; Nastavte cizí klíč na NULL. |
FK_NAME |
sysname | Identifikátor cizího klíče. Pokud ne, je NULL to relevantní pro datový zdroj. SQL Server vrací FOREIGN KEY název omezení. |
PK_NAME |
sysname | Identifikátor primárního klíče. Pokud ne, je NULL to relevantní pro datový zdroj. SQL Server vrací PRIMARY KEY název omezení. |
DEFERRABILITY |
smallint | Označuje, zda je kontrola omezení odkladatelná. |
Ve výsledné množině FK_NAME sloupce a PK_NAME vždy vracejí NULL.
Poznámky
sp_foreignkeys dotazuje FOREIGN_KEYS řádkovou sadu IDBSchemaRowset rozhraní poskytovatele OLE DB, která odpovídá @table_server. Parametry @table_name, @table_schema, @table_catalog a @column jsou předávány tomuto rozhraní, aby omezily vrácené řádky.
Povolení
Vyžaduje SELECT povolení ke schématu.
Examples
Následující příklad vrací informace o cizím klíči k tabulce Department v AdventureWorks2025 databázi na propojeném serveru, Seattle1.
EXECUTE sp_foreignkeys
@table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2022';