Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Visszaadja azokat az idegen kulcsokat, amelyek a táblán lévő elsődleges kulcsokra hivatkoznak a kapcsolt szerveren.
Transact-SQL szintaxis konvenciók
Szemantika
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'
A kapcsolt szerver neve, amelyhez a táblainformációt vissza kell küldeni. @table_servera sysname, alapértelmezett nélkül.
[ @pktab_name = ] N'pktab_name'
Az asztal neve elsődleges kulcscal.
@pktab_name a sysname, alapértelmezett értéke NULL.
[ @pktab_schema = ] N'pktab_schema'
A séma neve elsődleges kulcscal.
@pktab_schemaa sysname, alapértelmezettként NULL. Az SQL Serverben ez a paraméter tartalmazza a tulajdonos nevét.
[ @pktab_catalog = ] N'pktab_catalog'
A katalógus neve egy elsődleges kulcscal.
@pktab_cataloga sysname, alapértelmezettként NULL. Az SQL Serverben ez a paraméter tartalmazza az adatbázis nevét.
[ @fktab_name = ] N'fktab_name'
Az asztal neve, amelynek van egy idegen kulcsa.
@fktab_namea sysname, alapértelmezettként NULL.
[ @fktab_schema = ] N'fktab_schema'
A séma neve idegen kulcscal.
@fktab_schema a sysname, alapértelmezettként NULL.
[ @fktab_catalog = ] N'fktab_catalog'
A katalógus neve idegen kulcscal. @fktab_catalog a sysname, alapértelmezettként NULL.
Kódértékek visszaadása
Nincs.
Eredményhalmaz
Különböző adatbázis-kezelő rendszerek (DBMS) termékek háromrészes elnevezést támogatnak a táblák (<catalog>.<schema>.<table>), amelyek az eredményhalmazban jelennek meg.
| Oszlop név | Adattípus | Description |
|---|---|---|
PKTABLE_CAT |
sysname | Katalógus arra a táblázatra, amelyben a fő kulcs található. |
PKTABLE_SCHEM |
sysname | A táblázat sémája, amelyben a fő kulcs található. |
PKTABLE_NAME |
sysname | A tábla neve (a fő kulvával). Ez a mező mindig értéket ad vissza. |
PKCOLUMN_NAME |
sysname | A visszatért oszlop TABLE_NAME elsődleges kulcsoszlopának vagy oszlopainak neve. Ez a mező mindig értéket ad vissza. |
FKTABLE_CAT |
sysname | Katalógus a táblázathoz, amelyben az idegen kulcs található. |
FKTABLE_SCHEM |
sysname | A táblázat sémája, amelyben a külföldi kulcs található. |
FKTABLE_NAME |
sysname | A táblázat neve (idegen kulcscal). Ez a mező mindig értéket ad vissza. |
FKCOLUMN_NAME |
sysname | A külföldi kulcsoszlopok neve, minden visszatért TABLE_NAME oszlophoz. Ez a mező mindig értéket ad vissza. |
KEY_SEQ |
smallint | Az oszlop sorszáma egy többoszlopos elsődleges kulcsban. Ez a mező mindig értéket ad vissza. |
UPDATE_RULE |
smallint | Művelet az idegen kulcsra alkalmazva, amikor az SQL művelet frissítés. Az SQL Server 0, 1 vagy 2 értéket ad vissza ezekhez az oszlopokhoz:0
=
CASCADE Átalakulás idegen hangnemre.1
=
NO ACTION változik, ha idegen kulcs van.2
=
SET_NULL; Állítsd be az idegen kulcsot .NULL |
DELETE_RULE |
smallint | Művelet az idegen kulcsra, amikor az SQL művelet törlés. Az SQL Server 0, 1 vagy 2 értéket ad vissza ezekhez az oszlopokhoz:0
=
CASCADE Átalakulás idegen hangnemre.1
=
NO ACTION változik, ha idegen kulcs van.2
=
SET_NULL; Állítsd be az idegen kulcsot .NULL |
FK_NAME |
sysname | Külföldi kulcsazonosító.
NULL Ha nem alkalmazható az adatforrásra. Az SQL Server adja vissza a FOREIGN KEY korlátozás nevet. |
PK_NAME |
sysname | Elsődleges kulcsazonosító.
NULL Ha nem alkalmazható az adatforrásra. Az SQL Server adja vissza a PRIMARY KEY korlátozás nevet. |
DEFERRABILITY |
smallint | Jelzi, hogy a korlátozások ellenőrzése halasztható-e. |
Az eredményhalmazban a FK_NAME és PK_NAME oszlopok mindig visszaadják NULL.
Megjegyzések
sp_foreignkeys lekérdezi az OLE DB szolgáltató interfészének FOREIGN_KEYS sorhalmazát IDBSchemaRowset , amely megfelel a @table_server-nek. Az @table_name, @table_schema, @table_catalog és @column paramétereket erre az interfészre továbbítják, hogy korlátozzák a visszaküldött sorokat.
Permissions
Engedély SELECT szükséges a sémához.
Példák
A következő példa a AdventureWorks2025 kapcsolt szerveren Seattle1található adatbázisban lévő tábláról származó idegen kulcsinformációkat Department adja.
EXECUTE sp_foreignkeys
@table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2022';