sp_primarykeys (Transact-SQL)

傳回指定的遠端資料表之主索引鍵資料行,每個索引鍵資料行一個資料列。

主題連結圖示Transact-SQL 語法慣例

語法

sp_primarykeys [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ]

引數

  • [@table_server = ] **'**table_server'
    這是傳回主索引鍵資訊的連結伺服器名稱。table_server 是 sysname,沒有預設值。

  • [@table_name = ] 'table_name'
    這是提供主索引鍵資訊的資料表名稱。table_name 是 sysname,預設值是 NULL。

  • [@table_schema = ] 'table_schema'
    這是資料表結構描述。table_schema 是 sysname,預設值是 NULL。在 SQL Server 2008 環境中,這對應於資料表擁有者。

  • [@table_catalog = ] 'table_catalog'
    這是指定的 table_name 所在的目錄名稱。在 SQL Server 環境中,這對應於資料庫名稱。table_catalog 是 sysname,預設值是 NULL。

傳回碼值

結果集

資料行名稱

資料類型

描述

TABLE_CAT

sysname

資料表目錄。

TABLE_SCHEM

sysname

資料表結構描述。

TABLE_NAME

sysname

資料表的名稱。

COLUMN_NAME

sysname

資料行的名稱。

KEY_SEQ

int

資料行在多重資料行主索引鍵中的序號。

PK_NAME

sysname

主索引鍵識別碼。如果不適用於資料來源的話,便傳回 NULL。

備註

sp_primarykeys 的執行方式是查詢對應於 table_server 的 OLE DB 提供者之 IDBSchemaRowset 介面的 PRIMARY_KEYS 資料列集。table_name、table_schema、table_catalog 及 column 參數會傳遞給這個介面來限制傳回的資料列。

如果指定連結伺服器的 OLE DB 提供者不支援 sp_primarykeys 介面的 PRIMARY_KEYS 資料列集,IDBSchemaRowset 會傳回空的結果集。

權限

需要結構描述的 SELECT 權限。

範例

下列範例會從 LONDON1 伺服器中,傳回 AdventureWorks 資料庫 HumanResources.JobCandidate 資料表的主索引鍵資料行。

EXEC sp_primarykeys @table_server = N'LONDON1', 
   @table_name = N'JobCandidate',
   @table_catalog = N'AdventureWorks', 
   @table_schema = N'HumanResources'