次の方法で共有


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 環境では、これはテーブル所有者に相当します。

  • [ @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 権限が必要です。

使用例

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

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