返回引用主键的外键,这些主键在链接服务器中的表上。
sp_foreignkeys [ @table_server = ] 'table_server'
[ , [ @pktab_name = ] 'pktab_name' ]
[ , [ @pktab_schema = ] 'pktab_schema' ]
[ , [ @pktab_catalog = ] 'pktab_catalog' ]
[ , [ @fktab_name = ] 'fktab_name' ]
[ , [ @fktab_schema = ] 'fktab_schema' ]
[ , [ @fktab_catalog = ] 'fktab_catalog' ]
[@table_server =] 'table_server'
链接服务器的名称,将为该服务器返回表信息。table_server 的数据类型为 sysname,无默认值。
[@pktab_name =] 'pktab_name'
是带有主键的表的名称。pktab_name 的数据类型为 sysname,默认值为 NULL。
[@pktab_schema =] 'pktab_schema'
是带有主键的架构名称。pktab_schema 的数据类型为 sysname,默认值为 NULL。在 Microsoft® SQL Server™ 中,该项参数包含所有者名称。
[@pktab_catalog =] 'pktab_catalog'
是带有主键的目录名称。pktab_catalog 的数据类型为 sysname,默认值为 NULL。在 SQL Server 中,该项参数包含数据库名称。
[@fktab_name =] 'fktab_name'
是带有外键的表的名称。fktab_name 的数据类型为 sysname,默认值为 NULL。
[@fktab_schema =] 'fktab_schema'
是带有外键的架构名称。fktab_schema 的数据类型为 sysname,默认值为 NULL。
[@fktab_catalog =] 'fktab_catalog'
是带有外键的目录名称。fktab_catalog 的数据类型为 sysname,默认值为 NULL。
无
多种 DBMS 产品支持表的三段命名方式 (catalog.schema.table),这在结果集中有所表现。
列名 | 数据类型 | 描述 |
---|---|---|
PKTABLE_CAT | sysname | 表的目录,主键驻留在该表中。 |
PKTABLE_SCHEM | sysname | 表的架构,主键驻留在该表中。 |
PKTABLE_NAME | sysname | 表的名称(该表带有主键)。该字段始终返回值。 |
PKCOLUMN_NAME | sysname | 主键列的名称,针对返回的 TABLE_NAME 的每个列。该字段始终返回值。 |
FKTABLE_CAT | sysname | 表的目录,外键驻留在该表中。 |
FKTABLE_SCHEM | sysname | 表的架构,外键驻留在该表中。 |
FKTABLE_NAME | sysname | 表的名称(该表带有外键)。该字段始终返回值。 |
FKCOLUMN_NAME | sysname | 外键列的名称,针对返回的 TABLE_NAME 的每个列。该字段始终返回值。 |
KEY_SEQ | smallint | 多列主键中列的序列号。该字段始终返回值。 |
UPDATE_RULE | smallint | 当 SQL 操作是更新时,应用于外键的动作。SQL Server 为这些列返回 0 或 1。开放数据服务网关可返回值 0、1 或 2: 0= 对外键的 CASCADE 修改。 |
DELETE_RULE | smallint | 当 SQL 操作是删除时,应用于外键的动作。SQL Server 为这些列返回 0 或 1。开放数据服务网关可返回值 0、1 或 2: 0= 对外键的 CASCADE 修改。 |
FK_NAME | sysname | 外键标识符。如果对数据源不可用,则其为 NULL。SQL Server 返回 FOREIGN KEY 约束名。 |
PK_NAME | sysname | 主键标识符。如果对数据源不可用,则其为 NULL。SQL Server 返回 PRIMARY KEY 约束名。 |
DEFERRABILITY | smallint | 指明限制检查是否为可延迟的。 |
在结果集中,FK_NAME 和 PK_NAME 列总是返回 NULL。
sp_foreignkeys 查询 OLE DB 提供程序的 IDBSchemaRowset 接口的 FOREIGN_KEYS 行集,该提供程序与 table_server 相对应。table_name、table_schema、table_catalog 和 column 参数传递到此接口,用以限制返回的行。
下面的示例返回有关 Northwind 数据库中 Customers 表的外键信息。
USE master
EXEC sp_foreignkeys @table_server = N'LONDON1',
@pktab_name = N'Customers',
@pktab_catalog = N'Northwind'
相关文章