sp_foreignkeys (Transact-SQL)
Returns the foreign keys that reference primary keys on the table in the linked server.
Various DBMS products support three-part naming for tables (catalog.schema.table), which is represented in the result set.
Column name | Data type | Description |
|---|---|---|
PKTABLE_CAT | sysname | Catalog for the table in which the primary key resides. |
PKTABLE_SCHEM | sysname | Schema for the table in which the primary key resides. |
PKTABLE_NAME | sysname | Name of the table (with the primary key). This field always returns a value. |
PKCOLUMN_NAME | sysname | Name of the primary key column or columns, for each column of the TABLE_NAME returned. This field always returns a value. |
FKTABLE_CAT | sysname | Catalog for the table in which the foreign key resides. |
FKTABLE_SCHEM | sysname | Schema for the table in which the foreign key resides. |
FKTABLE_NAME | sysname | Name of the table (with a foreign key). This field always returns a value. |
FKCOLUMN_NAME | sysname | Name of the foreign key columns, for each column of the TABLE_NAME returned. This field always returns a value. |
KEY_SEQ | smallint | Sequence number of the column in a multicolumn primary key. This field always returns a value. |
UPDATE_RULE | smallint | Action applied to the foreign key when the SQL operation is an update. SQL Server returns 0, 1, or 2 for these columns: 0=CASCADE changes to foreign key. 1=NO ACTION changes if foreign key is present. 2=SET_NULL; set foreign key to NULL. |
DELETE_RULE | smallint | Action applied to the foreign key when the SQL operation is a deletion. SQL Server returns 0, 1, or 2 for these columns: 0=CASCADE changes to foreign key. 1=NO ACTION changes if foreign key is present. 2=SET_NULL; set foreign key to NULL. |
FK_NAME | sysname | Foreign key identifier. It is NULL if not applicable to the data source. SQL Server returns the FOREIGN KEY constraint name. |
PK_NAME | sysname | Primary key identifier. It is NULL if not applicable to the data source. SQL Server returns the PRIMARY KEY constraint name. |
DEFERRABILITY | smallint | Indicates whether constraint checking is deferrable. |
In the result set, the FK_NAME and PK_NAME columns always return NULL.

