返回指定遠(yuǎn)程表的主鍵列,每個(gè)鍵列占一行。
sp_primarykeys [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[@table_server =] 'table_server'
是鏈接服務(wù)器名稱,將從該服務(wù)器返回主鍵信息。table_server 為 sysname 類型,無默認(rèn)值。
[@table_name =] 'table_name'
是提供其主鍵信息的表名。table_name 為 sysname 類型,其默認(rèn)值為 NULL。
[@table_schema =] 'table_schema'
表架構(gòu)。table_schema 的數(shù)據(jù)類型為 sysname,默認(rèn)值為 NULL。在 Microsoft® SQL Server™ 環(huán)境中,這相當(dāng)于表的所有者。
[@table_catalog =] 'table_catalog'
是指定的 table_name 所在的目錄名。在 Microsoft SQL Server 環(huán)境中,這相當(dāng)于數(shù)據(jù)庫名稱。table_catalog 為 sysname 類型,其默認(rèn)值為 NULL。
無
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
TABLE_CAT | sysname | 表目錄。 |
TABLE_SCHEM | sysname | 表架構(gòu)。 |
TABLE_NAME | sysname | 表的名稱。 |
COLUMN_NAME | sysname | 列名。 |
KEY_SEQ | int | 多列主鍵中列的序列號(hào)。 |
PK_NAME | sysname | 主鍵標(biāo)識(shí)符。如果對(duì)數(shù)據(jù)源不適用,則返回 NULL。 |
sp_primarykeys 是通過查詢 table_server 所對(duì)應(yīng)的 OLE DB 提供程序的 IDBSchemaRowset 接口的 PRIMARY_KEYS 行集來執(zhí)行的。table_name、table_schema、table_catalog 和 column 參數(shù)傳遞到此接口,用以限制返回的行。
若指定鏈接服務(wù)器的 OLE DB 提供程序不支持 IDBSchemaRowset 接口的 PRIMARY_KEYS 行集,sp_primarykeys 將返回空結(jié)果集。
執(zhí)行權(quán)限默認(rèn)授予 public 角色。
下面的示例返回服務(wù)器 LONDON1 上數(shù)據(jù)庫 Northwind 中表 Customers 的主鍵列。
USE master
EXEC sp_primarykeys @table_server = N'LONDON1',
@table_name = N'Customers',
@table_catalog = N'Northwind',
@table_schema = N'dbo'
相關(guān)文章