sp_primarykeys (Transact-SQL)

指定されたリモート テーブルの主キー列を、キー列ごとに 1 行ずつ返します。

トピック リンク アイコン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 2005 環境では、これはテーブル所有者に相当します。

[ @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_nametable_schematable_catalog、および column パラメータは、返される行を制限するために、このインターフェイスに渡されます。

指定されたリンク サーバーの OLE DB プロバイダで IDBSchemaRowset インターフェイスの PRIMARY_KEYS 行セットがサポートされない場合、sp_primarykeys では空の結果セットが返されます。

権限

スキーマに対する SELECT 権限が必要です。

戻り値

なし

次の例では、AdventureWorks データベースの HumanResources.JobCandidate テーブルの主キー列を、LONDON1 サーバーから返します。

EXEC sp_primarykeys @table_server = N'LONDON1', 
   @table_name = N'JobCandidate',
   @table_catalog = N'AdventureWorks', 
   @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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手