sp_primarykeys (Transact-SQL)
適用於:SQL Server
針對指定的遠端數據表,傳回主鍵數據行,每個索引鍵數據行一個數據列。
語法
sp_primarykeys
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ ; ]
引數
[ @table_server = ] N'table_server'
要從中傳回主鍵資訊的連結伺服器名稱。 @table_server為 sysname,沒有預設值。
[ @table_name = ] N'table_name'
要提供主鍵信息的數據表名稱。 @table_name為 sysname 預設值為 NULL
。
[ @table_schema = ] N'table_schema'
數據表架構。 @table_schema為 sysname,預設值為 NULL
。 在 SQL Server 環境中,此值會對應至數據表擁有者。
[ @table_catalog = ] N'table_catalog'
指定 之@table_name 所在的目錄名稱。 @table_catalog為 sysname,預設值為 NULL
。 在 SQL Server 環境中,此值會對應至資料庫名稱。
傳回碼值
無。
結果集
資料行名稱 | 資料類型 | 描述 |
---|---|---|
TABLE_CAT |
sysname | 數據表目錄。 |
TABLE_SCHEM |
sysname | 數據表架構。 |
TABLE_NAME |
sysname | 資料表的名稱。 |
COLUMN_NAME |
sysname | 資料行的名稱。 |
KEY_SEQ |
int | 多欄主鍵中數據行的序號。 |
PK_NAME |
sysname | 主金鑰識別碼。 如果不適用於資料來源,則傳 NULL 回 。 |
備註
sp_primarykeys
會藉由查詢PRIMARY_KEYS
對應至@table_server之 OLE DB 提供者介面的數據列集IDBSchemaRowset
來執行。 參數會傳遞至這個介面,以限制傳回的數據列。
sp_primarykeys
如果指定的連結伺服器的 OLE DB 提供者不支援 PRIMARY_KEYS
介面的數據 IDBSchemaRowset
列集,則傳回空的結果集。
權限
SELECT
需要架構的許可權。
範例
下列範例會從 LONDON1
伺服器 HumanResources.JobCandidate
傳回資料庫中數據表 AdventureWorks2022
的主鍵數據行。
EXEC sp_primarykeys @table_server = N'LONDON1',
@table_name = N'JobCandidate',
@table_catalog = N'AdventureWorks2022',
@table_schema = N'HumanResources';