sp_primarykeys (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';
請參閱
參考
sp_column_privileges (Transact-SQL)
sp_linkedservers (Transact-SQL)