Share via


sp_pkeys (Transact-SQL)

現在の環境における、単一のテーブルに関する主キーの情報を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_pkeys [ @table_name = ] 'name'     
      [ , [ @table_owner = ] 'owner' ] 
   [ , [ @table_qualifier = ] 'qualifier' ]

引数

[ @table_name = ] 'name'

情報を返すテーブルを指定します。name のデータ型は sysname で、既定値はありません。ワイルドカードによるパターン検索はサポートされていません。

[ @table_owner = ] 'owner'

指定したテーブルのテーブル所有者を指定します。owner のデータ型は sysname で、既定値は NULL です。ワイルドカードによるパターン検索はサポートされていません。owner を指定しない場合は、基になる DBMS の既定のテーブル可視性ルールが適用されます。

SQL Server では、指定した名前のテーブルを現在のユーザーが所有している場合、そのテーブルの列が返されます。owner を指定せず、また name で指定したテーブルを現在のユーザーが所有していない場合、このプロシージャでは、データベース所有者が所有する name のテーブルが検索されます。テーブルが存在する場合、そのテーブルの列が返されます。

[ @table_qualifier = ] 'qualifier'

テーブルの修飾名を指定します。qualifier のデータ型は sysname で、既定値は NULL です。3 つの要素から構成されるテーブル名 (qualifier**.owner.**name) は、多くの DBMS 製品で使用できます。SQL Server では、この列はデータベース名を表します。製品によっては、テーブルのデータベース環境のサーバー名を表す場合があります。

結果セット

列名 データ型 説明

TABLE_QUALIFIER

sysname

テーブル識別子の名前。このフィールドは NULL の場合もあります。

TABLE_OWNER

sysname

テーブル所有者の名前。このフィールドは常に値を返します。

TABLE_NAME

sysname

テーブルの名前。SQL Server では、この列は、sysobjects テーブルに記録されているテーブル名を表します。このフィールドは常に値を返します。

COLUMN_NAME

sysname

返される TABLE_NAME の各列の列名。SQL Server では、この列は、sys.columns テーブルに記録されている列名を表します。このフィールドは常に値を返します。

KEY_SEQ

smallint

複数列の主キーにおける、列のシーケンス番号。

PK_NAME

sysname

主キー識別子。データ ソースに適用されない場合は NULL が返されます。

解説

sp_pkeys では、PRIMARY KEY 制約で明示的に定義された列に関する情報が返されます。すべてのシステムで、明示的に名前の付けられた主キーがサポートされているわけではないため、主キーの構成はゲートウェイのインプリメンタによって決定されます。"主キー" という用語は、あるテーブルに対する論理的主キーを意味することに注意してください。論理的主キーとして示されている各キーには、それぞれに一意なインデックスが定義されていることが前提となります。sp_statistics には、この一意なインデックスも返されます。

sp_pkeys ストアド プロシージャは、ODBC の SQLPrimaryKeys に相当します。返される結果は、TABLE_QUALIFIERTABLE_OWNERTABLE_NAME、および KEY_SEQ の値で並べ替えられます。

権限

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

戻り値

なし

次の例では、AdventureWorks データベースの HumanResources.Department テーブルの主キーを取得します。

USE AdventureWorks;
GO
EXEC sp_pkeys @table_name = N'Department',
   @table_owner = N'HumanResources'

参照

関連項目

ストアド プロシージャ カタログ (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手