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 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'