Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Returnerar främmande nycklar som refererar till primärnycklar i tabellen på den länkade servern.
Transact-SQL syntaxkonventioner
Syntax
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'
Namnet på den länkade servern för vilken tabellinformation ska returneras. @table_server är sysname, utan standard.
[ @pktab_name = ] N'pktab_name'
Namnet på tabellen med en primärnyckel.
@pktab_name är sysname, med standardvärdet .NULL
[ @pktab_schema = ] N'pktab_schema'
Namnet på schemat med en primärnyckel.
@pktab_schema är sysname, med standardvärdet .NULL I SQL Server innehåller denna parameter ägarnamnet.
[ @pktab_catalog = ] N'pktab_catalog'
Namnet på katalogen med en primärnyckel.
@pktab_catalog är sysname, med standardvärdet .NULL I SQL Server innehåller denna parameter databasens namn.
[ @fktab_name = ] N'fktab_name'
Namnet på bordet med en främmande nyckel.
@fktab_name är sysname, med standardvärdet .NULL
[ @fktab_schema = ] N'fktab_schema'
Namnet på schemat med en främmande nyckel.
@fktab_schema är sysname, med standardvärdet .NULL
[ @fktab_catalog = ] N'fktab_catalog'
Namnet på katalogen med främmande nyckel. @fktab_catalog är sysname, med standardvärdet .NULL
Returnera kodvärden
Ingen.
Resultatuppsättning
Olika databashanteringssystem (DBMS)-produkter stödjer tredelad namngivning för tabeller (<catalog>.<schema>.<table>), vilket representeras i resultatuppsättningen.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
PKTABLE_CAT |
sysname | Katalogisera tabellen där primärnyckeln finns. |
PKTABLE_SCHEM |
sysname | Schema för tabellen där primärnyckeln finns. |
PKTABLE_NAME |
sysname | Namnet på tabellen (med primärnyckeln). Detta fält returnerar alltid ett värde. |
PKCOLUMN_NAME |
sysname | Namnet på primärnyckelkolumnen eller kolumnerna, för varje kolumn i den TABLE_NAME returnerade. Detta fält returnerar alltid ett värde. |
FKTABLE_CAT |
sysname | Katalogisera tabellen där främmande nyckeln finns. |
FKTABLE_SCHEM |
sysname | Schema för tabellen där främmande nyckeln finns. |
FKTABLE_NAME |
sysname | Namnet på tabellen (med främmande nyckel). Detta fält returnerar alltid ett värde. |
FKCOLUMN_NAME |
sysname | Namn på främmande nyckelkolumner, för varje kolumn i den TABLE_NAME returnerade. Detta fält returnerar alltid ett värde. |
KEY_SEQ |
smallint | Sekvensnummer för kolumnen i en primärnyckel med flera kolumner. Detta fält returnerar alltid ett värde. |
UPDATE_RULE |
smallint | Åtgärden som tillämpas på främmande nyckeln när SQL-operationen är en uppdatering. SQL Server returnerar 0, 1 eller 2 för dessa kolumner:0
=
CASCADE Byter till främmande nyckel.1
=
NO ACTION ändras om främmande nyckel finns.2
=
SET_NULL; Sätt främmande nyckel till NULL. |
DELETE_RULE |
smallint | Åtgärden som tillämpas på främmande nyckeln när SQL-operationen är en borttagning. SQL Server returnerar 0, 1 eller 2 för dessa kolumner:0
=
CASCADE Byter till främmande nyckel.1
=
NO ACTION ändras om främmande nyckel finns.2
=
SET_NULL; Sätt främmande nyckel till NULL. |
FK_NAME |
sysname | Främmande nyckelidentifierare. Det är NULL det om det inte gäller datakällan. SQL Server returnerar begränsningsnamnet FOREIGN KEY . |
PK_NAME |
sysname | Primärnyckelidentifierare. Det är NULL det om det inte gäller datakällan. SQL Server returnerar begränsningsnamnet PRIMARY KEY . |
DEFERRABILITY |
smallint | Indikerar om begränsningskontroll är uppskjutbar. |
I resultatmängden returnerar och kolumnerna FK_NAMEPK_NAME alltid .NULL
Anmärkningar
sp_foreignkeys frågar den FOREIGN_KEYS raduppsättningen IDBSchemaRowset i gränssnittet till OLE DB-leverantören som motsvarar @table_server.
Parametrarna @table_name, @table_schema, @table_catalog och @column skickas till detta gränssnitt för att begränsa raderna som returneras.
Permissions
Kräver SELECT tillstånd på schemat.
Examples
Följande exempel returnerar främmande nyckelinformation om Department tabellen i databasen AdventureWorks2025 på den länkade servern, Seattle1.
EXECUTE sp_foreignkeys
@table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2022';