sp_primarykeys (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン)

指定されたリモート テーブルの主キー列を、キー列ごとに 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_serversysname で、 既定値はありません。

[ @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 は、 に対応する OLE DB プロバイダーの IDBSchemaRowset インターフェイスの PRIMARY_KEYS 行セットに対してクエリを実行 table_server。 、table_name、table_schema、table_catalog、および 列パラメーターは、返される行を制限するためにこのインターフェイスに渡されます。

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

アクセス許可

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

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

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)