sp_primarykeys (Transact-SQL)

適用範圍: 是SQL Server (所有支援的版本)

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

主題連結圖示 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_serversysname,沒有預設值。

[ @table_name = ] 'table_name' 這是提供主鍵資訊的資料表名稱。 table_namesysname,預設值是 Null。

[ @table_schema = ] 'table_schema' 這是資料表架構。 table_schemasysname,預設值是 Null。 在 SQL Server 環境中,這相當於資料表擁有者。

[ @table_catalog = ] 'table_catalog' 這是指定的 table_name 所在的目錄名稱。 在 SQL Server 環境中,這相當於資料庫名稱。 table_catalogsysname,預設值是 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_nametable_schematable_catalog 和資料行參數會傳遞至這個介面,以限制傳回的資料

如果指定之連結伺服器的 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 SQL)
sp_catalogs (SQL transact-sql)
sp_column_privileges (SQL transact-sql)
sp_foreignkeys (SQL transact-sql)
sp_indexes (SQL transact-sql)
sp_linkedservers (Transact-SQL)
sp_tables_ex (SQL transact-sql)
sp_table_privileges (SQL transact-sql)
系統預存程序 (Transact-SQL)