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 環境中,這相當於資料表擁有者。

  • [ @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 提供者不支援 IDBSchemaRowset 介面的 PRIMARY_KEYS 資料列集,sp_primarykeys 會傳回空的結果集。

權限

需要結構描述的 SELECT 權限。

範例

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

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

請參閱

參考

分散式查詢預存程序 (Transact-SQL)

sp_catalogs (Transact-SQL)

sp_column_privileges (Transact-SQL)

sp_foreignkeys (Transact-SQL)

sp_indexes (Transact-SQL)

sp_linkedservers (Transact-SQL)

sp_tables_ex (Transact-SQL)

sp_table_privileges (Transact-SQL)

系統預存程序 (Transact-SQL)