Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Devolve as chaves estrangeiras que fazem referência às chaves primárias na tabela no servidor ligado.
Transact-SQL convenções de sintaxe
Sintaxe
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'
O nome do servidor ligado para o qual devolver a informação da tabela. @table_server é sysname, sem padrão.
[ @pktab_name = ] N'pktab_name'
O nome da tabela com uma chave primária.
@pktab_name é sysname, com um padrão de NULL.
[ @pktab_schema = ] N'pktab_schema'
O nome do esquema com uma chave primária.
@pktab_schema é sysname, com um padrão de NULL. No SQL Server, este parâmetro contém o nome do proprietário.
[ @pktab_catalog = ] N'pktab_catalog'
O nome do catálogo com uma chave primária.
@pktab_catalog é sysname, com o padrão de NULL. No SQL Server, este parâmetro contém o nome da base de dados.
[ @fktab_name = ] N'fktab_name'
O nome da mesa com uma chave estrangeira.
@fktab_name é sysname, com um padrão de NULL.
[ @fktab_schema = ] N'fktab_schema'
O nome do esquema com uma chave estrangeira.
@fktab_schema é sysname, com um padrão de NULL.
[ @fktab_catalog = ] N'fktab_catalog'
O nome do catálogo com uma chave estrangeira. @fktab_catalog é sysname, com um padrão de NULL.
Valores de código de retorno
Nenhum.
Conjunto de resultados
Vários produtos de sistemas de gestão de bases de dados (SGBD) suportam a nomenclatura em três partes para tabelas (<catalog>.<schema>.<table>), que é representada no conjunto de resultados.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
PKTABLE_CAT |
sysname | Catálogo da tabela onde reside a chave primária. |
PKTABLE_SCHEM |
sysname | Esquema para a tabela onde reside a chave primária. |
PKTABLE_NAME |
sysname | Nome da tabela (com a chave primária). Este campo devolve sempre um valor. |
PKCOLUMN_NAME |
sysname | Nome da coluna ou colunas da chave primária, para cada coluna do TABLE_NAME devolvido. Este campo devolve sempre um valor. |
FKTABLE_CAT |
sysname | Catálogo da tabela onde reside a chave estrangeira. |
FKTABLE_SCHEM |
sysname | Esquema para a tabela onde reside a chave estrangeira. |
FKTABLE_NAME |
sysname | Nome da tabela (com uma chave estrangeira). Este campo devolve sempre um valor. |
FKCOLUMN_NAME |
sysname | Nome das colunas da chave estrangeira, para cada coluna do TABLE_NAME retorno. Este campo devolve sempre um valor. |
KEY_SEQ |
smallint | Número de sequência da coluna numa chave primária multicolunar. Este campo devolve sempre um valor. |
UPDATE_RULE |
smallint | Ação aplicada à chave estrangeira quando a operação SQL é uma atualização. O SQL Server devolve 0, 1 ou 2 para estas colunas:0
=
CASCADE alterações para tonalidade estrangeira.1
=
NO ACTION Altera-se a chave estrangeira estiver presente.2
=
SET_NULL; definir a chave estrangeira para NULL. |
DELETE_RULE |
smallint | Ação aplicada à chave estrangeira quando a operação SQL é uma eliminação. O SQL Server devolve 0, 1 ou 2 para estas colunas:0
=
CASCADE alterações para tonalidade estrangeira.1
=
NO ACTION Altera-se a chave estrangeira estiver presente.2
=
SET_NULL; definir a chave estrangeira para NULL. |
FK_NAME |
sysname | Identificador de chave estrangeira. Se não for NULL aplicável à fonte de dados. O SQL Server devolve o nome da FOREIGN KEY restrição. |
PK_NAME |
sysname | Identificador de chave primária. Se não for NULL aplicável à fonte de dados. O SQL Server devolve o nome da PRIMARY KEY restrição. |
DEFERRABILITY |
smallint | Indica se a verificação de restrições é diferida. |
No conjunto de resultados, as FK_NAME colunas e PK_NAME retornam NULLsempre .
Observações
sp_foreignkeys consulta o conjunto de linhas FOREIGN_KEYS da IDBSchemaRowset interface do fornecedor OLE DB que corresponde a @table_server. Os parâmetros de @table_name, @table_schema, @table_catalog e @column são passados para esta interface para restringir as linhas devolvidas.
Permissions
Requer SELECT permissão no esquema.
Examples
O exemplo seguinte devolve a informação da chave estrangeira sobre a Department tabela na AdventureWorks2025 base de dados no servidor ligado, Seattle1.
EXECUTE sp_foreignkeys
@table_server = N'Seattle1',
@pktab_name = N'Department',
@pktab_catalog = N'AdventureWorks2022';