sp_primarykeys (Transact-SQL)
指定されたリモート テーブルの主キー列を、キー列ごとに 1 行ずつ返します。
構文
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_name、table_schema、table_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)